diff Orthanc/Core/MultiThreading/SharedMessageQueue.cpp @ 145:d850500b8ca6

sync
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 08 Nov 2016 10:15:05 +0100
parents 3809121c3290
children 5dc54316d68b
line wrap: on
line diff
--- a/Orthanc/Core/MultiThreading/SharedMessageQueue.cpp	Fri Sep 16 09:19:10 2016 +0200
+++ b/Orthanc/Core/MultiThreading/SharedMessageQueue.cpp	Tue Nov 08 10:15:05 2016 +0100
@@ -185,4 +185,24 @@
     boost::mutex::scoped_lock lock(mutex_);
     isFifo_ = false;
   }
+
+  void SharedMessageQueue::Clear()
+  {
+    boost::mutex::scoped_lock lock(mutex_);
+
+    if (queue_.empty())
+    {
+      return;
+    }
+    else
+    {
+      while (!queue_.empty())
+      {
+        std::auto_ptr<IDynamicObject> message(queue_.front());
+        queue_.pop_front();
+      }
+
+      emptied_.notify_all();
+    }
+  }
 }