aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Threading/ProducerConsumerQueue.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-04-24 00:10:04 +0200
committerShauren <shauren.trinity@gmail.com>2015-04-24 00:10:04 +0200
commit59e9bcf0bf44d89397f5a182e2ef21f7e3a3635d (patch)
tree668949c1abeee4863e9c1caefbaab4dd39b3449f /src/server/shared/Threading/ProducerConsumerQueue.h
parent15a5eb4e350db33c34d763418a41f3d678729c82 (diff)
Core/Socket: Removed unused synchronous read method
Diffstat (limited to 'src/server/shared/Threading/ProducerConsumerQueue.h')
-rw-r--r--src/server/shared/Threading/ProducerConsumerQueue.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/shared/Threading/ProducerConsumerQueue.h b/src/server/shared/Threading/ProducerConsumerQueue.h
index 67150a20d80..3158e3deb24 100644
--- a/src/server/shared/Threading/ProducerConsumerQueue.h
+++ b/src/server/shared/Threading/ProducerConsumerQueue.h
@@ -70,7 +70,9 @@ public:
{
std::unique_lock<std::mutex> lock(_queueLock);
- _condition.wait(lock, [this]() { return !_queue.empty() || _shutdown; });
+ // we could be using .wait(lock, predicate) overload here but some threading error analysis tools produce false positives
+ while (_queue.empty() && !_shutdown)
+ _condition.wait(lock);
if (_queue.empty() || _shutdown)
return;