diff options
| author | Gordon Sim <gsim@apache.org> | 2013-08-09 12:33:23 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2013-08-09 12:33:23 +0000 |
| commit | 9a11414a4f139d37484136e20d2b44bf2715f5ed (patch) | |
| tree | 70d65b4799beae3906865d3a887013705a014952 /cpp/src | |
| parent | 218d860ad96b274d237fde984061b455c0ce90d8 (diff) | |
| download | qpid-python-9a11414a4f139d37484136e20d2b44bf2715f5ed.tar.gz | |
QPID-5053: release exclusive queue ownership when session ends (clear the set _after_ iterating over it!)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1512283 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
| -rw-r--r-- | cpp/src/qpid/broker/amqp/Session.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/amqp/Session.cpp b/cpp/src/qpid/broker/amqp/Session.cpp index cb154d6b70..cd1c21c40e 100644 --- a/cpp/src/qpid/broker/amqp/Session.cpp +++ b/cpp/src/qpid/broker/amqp/Session.cpp @@ -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; } |
