diff options
| author | Alan Conway <aconway@apache.org> | 2008-02-05 20:44:14 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2008-02-05 20:44:14 +0000 |
| commit | 32f04433aebc19c9dcc89f3f5a3cf313b8100672 (patch) | |
| tree | 1dea4ef59b49fa226bc6f638df407de20928a989 /cpp/src/qpid/broker/Timer.cpp | |
| parent | 89bfec4dc6c5ef0b23dc89744e22caa16a4216e3 (diff) | |
| download | qpid-python-32f04433aebc19c9dcc89f3f5a3cf313b8100672.tar.gz | |
Added testSendToSelf for https://bugzilla.redhat.com/show_bug.cgi?id=410551
M src/tests/ClientSessionTest.cpp
Disabled management for BrokerFixture - management singleton assumes
only one broker per process, causes shutdown races with fixtures.
M src/tests/BrokerFixture.h
Made Timer::stop() idempotent
M src/qpid/broker/Timer.cpp
M src/qpid/broker/Timer.h
Added STL-style size() and empty()
M src/qpid/sys/BlockingQueue.h
M src/qpid/client/LocalQueue.cpp
M src/qpid/client/LocalQueue.h
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@618770 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Timer.cpp')
| -rw-r--r-- | cpp/src/qpid/broker/Timer.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/cpp/src/qpid/broker/Timer.cpp b/cpp/src/qpid/broker/Timer.cpp index 28b1aa56d7..173f350cde 100644 --- a/cpp/src/qpid/broker/Timer.cpp +++ b/cpp/src/qpid/broker/Timer.cpp @@ -85,17 +85,13 @@ void Timer::start() void Timer::stop() { - signalStop(); - runner.join(); -} - -void Timer::signalStop() -{ - Monitor::ScopedLock l(monitor); - if (active) { + { + Monitor::ScopedLock l(monitor); + if (!active) return; active = false; monitor.notifyAll(); } + runner.join(); } bool Later::operator()(const intrusive_ptr<TimerTask>& a, |
