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]

Reply via email to