diff --git a/osdep/BlockingQueue.hpp b/osdep/BlockingQueue.hpp index 6f81ddf2..9e2f73cb 100644 --- a/osdep/BlockingQueue.hpp +++ b/osdep/BlockingQueue.hpp @@ -63,6 +63,8 @@ public: c.notify_one(); break; } + if (!r) + break; gc.wait(lock); } } @@ -72,6 +74,7 @@ public: std::lock_guard lock(m); r = false; c.notify_all(); + gc.notify_all(); } inline bool get(T &value)