From 937fe6e7295efff28cb680642fca28ebf65e7d4e Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Fri, 12 Mar 2010 20:11:15 +0000 Subject: Fix for deadlock beween journal timer & connection threads. See https://bugzilla.redhat.com/show_bug.cgi?id=570154. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@922411 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/IncompleteMessageList.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'cpp/src/qpid/broker/IncompleteMessageList.cpp') diff --git a/cpp/src/qpid/broker/IncompleteMessageList.cpp b/cpp/src/qpid/broker/IncompleteMessageList.cpp index 02265ab85c..a061e872d0 100644 --- a/cpp/src/qpid/broker/IncompleteMessageList.cpp +++ b/cpp/src/qpid/broker/IncompleteMessageList.cpp @@ -30,7 +30,8 @@ IncompleteMessageList::IncompleteMessageList() : IncompleteMessageList::~IncompleteMessageList() { - sys::Mutex::ScopedLock l(lock); + // No lock here. We are relying on Messsag::reset*CompleteCallback + // to ensure no callbacks are in progress before they return. for (Messages::iterator i = incomplete.begin(); i != incomplete.end(); ++i) { (*i)->resetEnqueueCompleteCallback(); (*i)->resetDequeueCompleteCallback(); -- cgit v1.2.1