[core] change RunLoop processing to check queue on every iteration

This commit is contained in:
Konstantin Käfer
2018-01-23 14:43:37 -08:00
parent 78f8fd88b4
commit 93c4a23636

View File

@@ -88,12 +88,13 @@ private:
void process() {
std::unique_lock<std::mutex> lock(mutex);
Queue queue_;
lock.unlock();
while (!queue_.empty()) {
(*(queue_.front()))();
queue_.pop();
std::shared_ptr<WorkTask> task;
while (!queue.empty()) {
task = std::move(queue.front());
queue.pop();
lock.unlock();
(*task)();
lock.lock();
}
}