summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-07-29 13:45:30 +0000
committerGordon Sim <gsim@apache.org>2008-07-29 13:45:30 +0000
commit50bead7636d5e23b1b329901963ad0a3dd0a1a9b (patch)
tree499ce49b7230db403012a6277c27a7c1df130a58
parentf2eb73fe5b5aa5b3ab0ddb2d03e41705cf1d8129 (diff)
downloadqpid-python-50bead7636d5e23b1b329901963ad0a3dd0a1a9b.tar.gz
Merged r680691
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-10@680695 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--cpp/src/qpid/sys/BlockingQueue.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/cpp/src/qpid/sys/BlockingQueue.h b/cpp/src/qpid/sys/BlockingQueue.h
index 4402c242e6..c6c6291b97 100644
--- a/cpp/src/qpid/sys/BlockingQueue.h
+++ b/cpp/src/qpid/sys/BlockingQueue.h
@@ -51,8 +51,12 @@ public:
Mutex::ScopedLock l(waitable);
{
Waitable::ScopedWait w(waitable);
- AbsTime deadline(now(),timeout);
- while (queue.empty() && deadline > now()) waitable.wait(deadline);
+ if (timeout == TIME_INFINITE) {
+ while (queue.empty()) waitable.wait();
+ } else {
+ AbsTime deadline(now(),timeout);
+ while (queue.empty() && deadline > now()) waitable.wait(deadline);
+ }
}
if (queue.empty()) return false;
result = queue.front();