diff options
author | Shauren <shauren.trinity@gmail.com> | 2015-04-24 00:10:04 +0200 |
---|---|---|
committer | DDuarte <dnpd.dd@gmail.com> | 2015-04-29 00:06:19 +0100 |
commit | 88af3ffc2ad2a906fdda373c6d68d21187474f27 (patch) | |
tree | 5072882133dde88dd9369a6630bebec70203cc64 /src/server/shared/Threading/ProducerConsumerQueue.h | |
parent | 8b07f1cd4d1714379f8beeea3d13ea0af118de23 (diff) |
Core/Socket: Removed unused synchronous read method
(cherry picked from commit 59e9bcf0bf44d89397f5a182e2ef21f7e3a3635d)
Conflicts:
src/server/game/Server/WorldSocket.cpp
Diffstat (limited to 'src/server/shared/Threading/ProducerConsumerQueue.h')
-rw-r--r-- | src/server/shared/Threading/ProducerConsumerQueue.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/shared/Threading/ProducerConsumerQueue.h b/src/server/shared/Threading/ProducerConsumerQueue.h index ab01568309b..e2f13e5c339 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; |