Author: gsim
Date: Fri Jan 10 23:12:33 2014
New Revision: 1557279
URL: http://svn.apache.org/r1557279
Log:
QPID-5468: fix handling of delete-if-unused for sending links
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=1557279&r1=1557278&r2=1557279&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp Fri Jan 10 23:12:33 2014
@@ -521,16 +521,17 @@ void Queue::markInUse(bool controlling)
void Queue::releaseFromUse(bool controlling)
{
+ bool trydelete;
if (controlling) {
- {
- Mutex::ScopedLock locker(messageLock);
- users.removeLifecycleController();
- }
- scheduleAutoDelete();
+ Mutex::ScopedLock locker(messageLock);
+ users.removeLifecycleController();
+ trydelete = true;
} else {
Mutex::ScopedLock locker(messageLock);
users.removeOther();
+ trydelete = isUnused(locker);
}
+ if (trydelete) scheduleAutoDelete();
}
void Queue::consume(Consumer::shared_ptr c, bool requestExclusive)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]