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);