From 86d5aa7ccc3fb6e9cf23a52e8b2d69aae53692f7 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Wed, 11 Feb 2009 17:29:42 +0000 Subject: Fix race condition with read-credit. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@743416 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/sys/AsynchIOHandler.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'cpp/src/qpid/sys/AsynchIOHandler.cpp') diff --git a/cpp/src/qpid/sys/AsynchIOHandler.cpp b/cpp/src/qpid/sys/AsynchIOHandler.cpp index 35b75c1fe8..3bc05e4bf9 100644 --- a/cpp/src/qpid/sys/AsynchIOHandler.cpp +++ b/cpp/src/qpid/sys/AsynchIOHandler.cpp @@ -145,8 +145,10 @@ bool AsynchIOHandler::readbuff(AsynchIO& , AsynchIO::BufferBase* buff) { // Lock and retest credit to make sure we don't race with increasing credit ScopedLock l(creditLock); assert(readCredit.get() >= 0); - if (readCredit.get() == 0) + if (readCredit.get() == 0) { + aio->stopReading(); return false; + } } } return true; -- cgit v1.2.1