summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim van der Riet <kpvdr@apache.org>2008-04-18 12:09:42 +0000
committerKim van der Riet <kpvdr@apache.org>2008-04-18 12:09:42 +0000
commitc8451f5378e6afe7657a4918d3ef6d52d60f70fd (patch)
tree3639e29b719736659f36cfb68864589df4d681d1
parente81ad60dbe14d4c33dacc74a8b33b8d1268989cc (diff)
downloadqpid-python-c8451f5378e6afe7657a4918d3ef6d52d60f70fd.tar.gz
Fix to prevent possible Timer deadlocks by holding onto mutex while calling fire()
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@649479 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/cpp/src/qpid/broker/Timer.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/broker/Timer.cpp b/qpid/cpp/src/qpid/broker/Timer.cpp
index 9005a7cd6e..0b0d3ba63d 100644
--- a/qpid/cpp/src/qpid/broker/Timer.cpp
+++ b/qpid/cpp/src/qpid/broker/Timer.cpp
@@ -60,6 +60,7 @@ void Timer::run()
tasks.pop();
} else if(t->time < AbsTime::now()) {
tasks.pop();
+ Monitor::ScopedUnlock u(monitor);
t->fire();
} else {
monitor.wait(t->time);