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 2009/06/09 14:42:50 UTC

svn commit: r782979 - /qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp

Author: gsim
Date: Tue Jun  9 12:42:50 2009
New Revision: 782979

URL: http://svn.apache.org/viewvc?rev=782979&view=rev
Log:
Lock should be released in LVQ before dequeuing old message to prevent possible deadlocks when a store plugin is loaded.


Modified:
    qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp?rev=782979&r1=782978&r2=782979&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp Tue Jun  9 12:42:50 2009
@@ -577,6 +577,7 @@
                     //recovery is complete
                     pendingDequeues.push_back(QueuedMessage(qm.queue, old, qm.position));
                 } else {
+                    Mutex::ScopedUnlock u(messageLock);   
                     dequeue(0, QueuedMessage(qm.queue, old, qm.position));
                 }
             }		 



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