Mercurial > hg > orthanc
comparison Core/MultiThreading/SharedMessageQueue.h @ 452:80f7539147a2
WaitEmpty
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 04 Jul 2013 11:48:02 +0200 |
parents | 0e8bd937a0f3 |
children | 2d0a347e8cfc |
comparison
equal
deleted
inserted
replaced
451:0e8bd937a0f3 | 452:80f7539147a2 |
---|---|
47 | 47 |
48 unsigned int maxSize_; | 48 unsigned int maxSize_; |
49 Queue queue_; | 49 Queue queue_; |
50 boost::mutex mutex_; | 50 boost::mutex mutex_; |
51 boost::condition_variable elementAvailable_; | 51 boost::condition_variable elementAvailable_; |
52 boost::condition_variable emptied_; | |
52 | 53 |
53 public: | 54 public: |
54 SharedMessageQueue(unsigned int maxSize = 0); | 55 SharedMessageQueue(unsigned int maxSize = 0); |
55 | 56 |
56 ~SharedMessageQueue(); | 57 ~SharedMessageQueue(); |
58 // This transfers the ownership of the message | 59 // This transfers the ownership of the message |
59 void Enqueue(IDynamicObject* message); | 60 void Enqueue(IDynamicObject* message); |
60 | 61 |
61 // The caller is responsible to delete the dequeud message! | 62 // The caller is responsible to delete the dequeud message! |
62 IDynamicObject* Dequeue(int32_t millisecondsTimeout); | 63 IDynamicObject* Dequeue(int32_t millisecondsTimeout); |
64 | |
65 bool WaitEmpty(int32_t millisecondsTimeout); | |
63 }; | 66 }; |
64 } | 67 } |