Fixed race condition bug on multithreading

This commit is contained in:
Matt Hill
2014-05-04 14:07:57 -05:00
parent 0bf3f674ee
commit d6c79299fb
2 changed files with 11 additions and 18 deletions

View File

@@ -159,18 +159,15 @@ void plateAnalysisThread(void* arg)
int loop_count = 0;
while (true)
{
if (dispatcher->hasPlate() == false)
PlateRegion plateRegion;
if (dispatcher->nextPlate(&plateRegion) == false)
break;
if (dispatcher->config->debugGeneral)
cout << "Thread: " << tthread::this_thread::get_id() << " loop " << ++loop_count << endl;
// Get a single plate region from the queue
PlateRegion plateRegion = dispatcher->nextPlate();
Mat img = dispatcher->getImageCopy();
timespec platestarttime;
getTime(&platestarttime);