diff options
author | Gordon Sim <gsim@apache.org> | 2007-09-13 17:29:16 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2007-09-13 17:29:16 +0000 |
commit | 0a1b3430450f274aee273a9f792a2d43f771b85f (patch) | |
tree | 71be3bc1a920a568c0680f8e8a5e802c1c3bee8d /cpp/src/qpid/broker/BrokerQueue.cpp | |
parent | e00a1cfa3881e3bb8aadfecdf502f17903e319b1 (diff) | |
download | qpid-python-0a1b3430450f274aee273a9f792a2d43f771b85f.tar.gz |
Use frameset begin/end flags for determining frameset boundaries.
Set frameset & segment begin/end flags for content bearing methods (i.e. messages).
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@575377 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/BrokerQueue.cpp')
-rw-r--r-- | cpp/src/qpid/broker/BrokerQueue.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/BrokerQueue.cpp b/cpp/src/qpid/broker/BrokerQueue.cpp index d96622cd4f..29e2256b56 100644 --- a/cpp/src/qpid/broker/BrokerQueue.cpp +++ b/cpp/src/qpid/broker/BrokerQueue.cpp @@ -126,6 +126,7 @@ bool Queue::acquire(const QueuedMessage& msg) { void Queue::requestDispatch(Consumer* c, bool sync){ if (!c || c->preAcquires()) { if (sync) { + Mutex::ScopedLock locker(messageLock); dispatch(); } else { serializer.execute(dispatchCallback); @@ -153,7 +154,9 @@ bool Queue::dispatch(QueuedMessage& msg){ int start = next; while(c){ next++; - if(c->deliver(msg)) return true; + if(c->deliver(msg)) { + return true; + } next = next % acquirers.size(); c = next == start ? 0 : acquirers[next]; } |