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 2013/08/09 14:33:24 UTC
svn commit: r1512283 - /qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp
Author: gsim
Date: Fri Aug 9 12:33:23 2013
New Revision: 1512283
URL: http://svn.apache.org/r1512283
Log:
QPID-5053: release exclusive queue ownership when session ends (clear the set _after_ iterating over it!)
Modified:
qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp?rev=1512283&r1=1512282&r2=1512283&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Session.cpp Fri Aug 9 12:33:23 2013
@@ -507,7 +507,6 @@ bool Session::dispatch()
void Session::close()
{
- exclusiveQueues.clear();
for (OutgoingLinks::iterator i = outgoing.begin(); i != outgoing.end(); ++i) {
i->second->detached();
}
@@ -520,6 +519,7 @@ void Session::close()
for (std::set< boost::shared_ptr<Queue> >::const_iterator i = exclusiveQueues.begin(); i != exclusiveQueues.end(); ++i) {
(*i)->releaseExclusiveOwnership();
}
+ exclusiveQueues.clear();
qpid::sys::Mutex::ScopedLock l(lock);
deleted = true;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org