Merge pull request #7479 from sethalves/fix-logging-crash

fix locking in GenericQueueThread::process
This commit is contained in:
Brad Hefta-Gaub 2016-03-25 17:56:10 -07:00
commit bb42d84bbd

View file

@ -45,18 +45,23 @@ protected:
}
virtual bool process() {
lock();
if (!_items.size()) {
unlock();
_hasItemsMutex.lock();
_hasItems.wait(&_hasItemsMutex, getMaxWait());
_hasItemsMutex.unlock();
} else {
unlock();
}
lock();
if (!_items.size()) {
unlock();
return isStillRunning();
}
Queue processItems;
lock();
processItems.swap(_items);
unlock();
return processQueueItems(processItems);