From 75625dcf853e8ea81eda64f44761d7d66a7eb313 Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Tue, 9 Jun 2009 12:42:50 +0000 Subject: Lock should be released in LVQ before dequeuing old message to prevent possible deadlocks when a store plugin is loaded. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@782979 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/src/qpid/broker/Queue.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'qpid/cpp/src') diff --git a/qpid/cpp/src/qpid/broker/Queue.cpp b/qpid/cpp/src/qpid/broker/Queue.cpp index dff28f189e..e5bcf9ef57 100644 --- a/qpid/cpp/src/qpid/broker/Queue.cpp +++ b/qpid/cpp/src/qpid/broker/Queue.cpp @@ -577,6 +577,7 @@ void Queue::push(boost::intrusive_ptr& msg, bool isRecovery){ //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)); } } -- cgit v1.2.1