From 88af3ffc2ad2a906fdda373c6d68d21187474f27 Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 24 Apr 2015 00:10:04 +0200 Subject: Core/Socket: Removed unused synchronous read method (cherry picked from commit 59e9bcf0bf44d89397f5a182e2ef21f7e3a3635d) Conflicts: src/server/game/Server/WorldSocket.cpp --- src/server/shared/Threading/ProducerConsumerQueue.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/server/shared/Threading/ProducerConsumerQueue.h') 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 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; -- cgit v1.2.3