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) {