Author: aconway
Date: Fri Sep 30 20:55:54 2011
New Revision: 1177831

URL: http://svn.apache.org/viewvc?rev=1177831&view=rev
Log:
QPID-2920: Fix race condition causing sporadic duplicate messages.

Modified:
    qpid/branches/qpid-2920-active/qpid/cpp/src/qpid/broker/Queue.cpp

Modified: qpid/branches/qpid-2920-active/qpid/cpp/src/qpid/broker/Queue.cpp
URL: 
http://svn.apache.org/viewvc/qpid/branches/qpid-2920-active/qpid/cpp/src/qpid/broker/Queue.cpp?rev=1177831&r1=1177830&r2=1177831&view=diff
==============================================================================
--- qpid/branches/qpid-2920-active/qpid/cpp/src/qpid/broker/Queue.cpp (original)
+++ qpid/branches/qpid-2920-active/qpid/cpp/src/qpid/broker/Queue.cpp Fri Sep 
30 20:55:54 2011
@@ -303,8 +303,8 @@ bool Queue::getNextMessage(QueuedMessage
 Queue::ConsumeCode Queue::consumeNextMessage(QueuedMessage& m, 
Consumer::shared_ptr c)
 {
     while (true) {
-        ClusterAcquireScope acquireScope; // Outside the lock
         Activity::Scope consumeScope(consuming);
+        ClusterAcquireScope acquireScope;
         Mutex::ScopedLock locker(messageLock);
         if (!consumeScope) {
             QPID_LOG(trace, "Queue stopped, can't  consume: " << name);



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscr...@qpid.apache.org

Reply via email to