mirror of
https://github.com/kerberos-io/openalpr-base.git
synced 2025-10-07 04:50:54 +08:00
Fixed race condition bug on multithreading
This commit is contained in:
@@ -109,22 +109,18 @@ class PlateDispatcher
|
||||
return img;
|
||||
}
|
||||
|
||||
bool hasPlate()
|
||||
{
|
||||
bool plateAvailable;
|
||||
mMutex.lock();
|
||||
plateAvailable = plateRegions.size() > 0;
|
||||
mMutex.unlock();
|
||||
return plateAvailable;
|
||||
}
|
||||
PlateRegion nextPlate()
|
||||
|
||||
bool nextPlate(PlateRegion* plateRegion)
|
||||
{
|
||||
tthread::lock_guard<tthread::mutex> guard(mMutex);
|
||||
|
||||
PlateRegion plateRegion = plateRegions[plateRegions.size() - 1];
|
||||
if (plateRegions.size() == 0)
|
||||
return false;
|
||||
|
||||
*plateRegion = plateRegions[plateRegions.size() - 1];
|
||||
plateRegions.pop_back();
|
||||
|
||||
return plateRegion;
|
||||
return true;
|
||||
}
|
||||
|
||||
void appendPlate(PlateRegion plate)
|
||||
|
Reference in New Issue
Block a user