summaryrefslogtreecommitdiff
path: root/cpp/src
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
commitd80112d4976b7f44a3fd7b6f85636d44c70401fb (patch)
tree6270a5654cec9f927c0ea0ef3458307e4192fc5c /cpp/src
parent49438400ce18e87e048cee8d2c453e1ea06a1319 (diff)
downloadqpid-python-d80112d4976b7f44a3fd7b6f85636d44c70401fb.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/qpid@649479 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/qpid/broker/Timer.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/Timer.cpp b/cpp/src/qpid/broker/Timer.cpp
index 9005a7cd6e..0b0d3ba63d 100644
--- a/cpp/src/qpid/broker/Timer.cpp
+++ b/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);