Author: kpvdr
Date: Fri Apr 18 05:09:42 2008
New Revision: 649479

URL: http://svn.apache.org/viewvc?rev=649479&view=rev
Log:
Fix to prevent possible Timer deadlocks by holding onto mutex while calling 
fire()

Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Timer.cpp

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Timer.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Timer.cpp?rev=649479&r1=649478&r2=649479&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Timer.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Timer.cpp Fri Apr 18 05:09:42 
2008
@@ -60,6 +60,7 @@
                 tasks.pop();
             } else if(t->time < AbsTime::now()) {
                 tasks.pop();
+                Monitor::ScopedUnlock u(monitor);
                 t->fire();
             } else {
                 monitor.wait(t->time);


Reply via email to