# HG changeset patch # User Sebastien Jodogne # Date 1472741675 -7200 # Node ID 93afa6134ab3ad53d16038acba84c88f8dab424b # Parent 14ce887a9182a2442c3cf9fef83b70e648cda0d5 SharedMessageQueue::Clear diff -r 14ce887a9182 -r 93afa6134ab3 Core/MultiThreading/SharedMessageQueue.cpp --- a/Core/MultiThreading/SharedMessageQueue.cpp Wed Aug 31 17:35:38 2016 +0200 +++ b/Core/MultiThreading/SharedMessageQueue.cpp Thu Sep 01 16:54:35 2016 +0200 @@ -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 message(queue_.front()); + queue_.pop_front(); + } + + emptied_.notify_all(); + } + } } diff -r 14ce887a9182 -r 93afa6134ab3 Core/MultiThreading/SharedMessageQueue.h --- a/Core/MultiThreading/SharedMessageQueue.h Wed Aug 31 17:35:38 2016 +0200 +++ b/Core/MultiThreading/SharedMessageQueue.h Thu Sep 01 16:54:35 2016 +0200 @@ -78,5 +78,7 @@ void SetFifoPolicy(); void SetLifoPolicy(); + + void Clear(); }; }