Mercurial > hg > orthanc
diff Core/MultiThreading/SharedMessageQueue.cpp @ 723:0da078f3affc
multithreading tests
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 18 Feb 2014 16:18:42 +0100 |
parents | 2d0a347e8cfc |
children | a811bdf8b8eb |
line wrap: on
line diff
--- a/Core/MultiThreading/SharedMessageQueue.cpp Fri Feb 14 16:12:44 2014 +0100 +++ b/Core/MultiThreading/SharedMessageQueue.cpp Tue Feb 18 16:18:42 2014 +0100 @@ -89,7 +89,11 @@ std::auto_ptr<IDynamicObject> message(queue_.front()); queue_.pop_front(); - emptied_.notify_all(); + + if (queue_.empty()) + { + emptied_.notify_all(); + } return message.release(); } @@ -101,7 +105,7 @@ boost::mutex::scoped_lock lock(mutex_); // Wait for the queue to become empty - if (!queue_.empty()) + while (!queue_.empty()) { if (millisecondsTimeout == 0) {