diff options
author | Kim van der Riet <kpvdr@apache.org> | 2008-04-18 12:09:42 +0000 |
---|---|---|
committer | Kim van der Riet <kpvdr@apache.org> | 2008-04-18 12:09:42 +0000 |
commit | c8451f5378e6afe7657a4918d3ef6d52d60f70fd (patch) | |
tree | 3639e29b719736659f36cfb68864589df4d681d1 | |
parent | e81ad60dbe14d4c33dacc74a8b33b8d1268989cc (diff) | |
download | qpid-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.cpp | 1 |
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); |