You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2008/07/10 10:39:11 UTC
svn commit: r675477 - in /incubator/qpid/trunk/qpid/cpp/src:
qpid/sys/BlockingQueue.h tests/ClientSessionTest.cpp
Author: gsim
Date: Thu Jul 10 01:39:10 2008
New Revision: 675477
URL: http://svn.apache.org/viewvc?rev=675477&view=rev
Log:
Honour timeout in BlockingQueue::pop(); added test for SubscriptionManager::get() where no message exists.
Modified:
incubator/qpid/trunk/qpid/cpp/src/qpid/sys/BlockingQueue.h
incubator/qpid/trunk/qpid/cpp/src/tests/ClientSessionTest.cpp
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/sys/BlockingQueue.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/sys/BlockingQueue.h?rev=675477&r1=675476&r2=675477&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/sys/BlockingQueue.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/sys/BlockingQueue.h Thu Jul 10 01:39:10 2008
@@ -52,7 +52,7 @@
{
Waitable::ScopedWait w(waitable);
AbsTime deadline(now(),timeout);
- while (queue.empty()) waitable.wait(deadline);
+ while (queue.empty() && deadline > now()) waitable.wait(deadline);
}
if (queue.empty()) return false;
result = queue.front();
Modified: incubator/qpid/trunk/qpid/cpp/src/tests/ClientSessionTest.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/tests/ClientSessionTest.cpp?rev=675477&r1=675476&r2=675477&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/tests/ClientSessionTest.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/tests/ClientSessionTest.cpp Thu Jul 10 01:39:10 2008
@@ -248,6 +248,7 @@
BOOST_CHECK_EQUAL("foo0", got.getData());
BOOST_CHECK(fix.subs.get(got, "getq", TIME_SEC));
BOOST_CHECK_EQUAL("foo1", got.getData());
+ BOOST_CHECK(!fix.subs.get(got, "getq"));
}
QPID_AUTO_TEST_CASE(testOpenFailure) {