From 0a1b3430450f274aee273a9f792a2d43f771b85f Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Thu, 13 Sep 2007 17:29:16 +0000 Subject: 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 --- cpp/src/qpid/broker/BrokerQueue.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'cpp/src/qpid/broker/BrokerQueue.cpp') 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]; } -- cgit v1.2.1