diff options
-rw-r--r-- | qpid/cpp/src/qpid/broker/LinkRegistry.cpp | 2 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/broker/QueueCleaner.cpp | 5 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/broker/QueueCleaner.h | 1 |
3 files changed, 7 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/broker/LinkRegistry.cpp b/qpid/cpp/src/qpid/broker/LinkRegistry.cpp index fc7b88a04a..793ffd8d2e 100644 --- a/qpid/cpp/src/qpid/broker/LinkRegistry.cpp +++ b/qpid/cpp/src/qpid/broker/LinkRegistry.cpp @@ -68,7 +68,7 @@ void LinkRegistry::Periodic::fire () { links.periodicMaintenance (); setupNextFire(); - links.timer->add (this); + links.timer->add(this); } void LinkRegistry::periodicMaintenance () diff --git a/qpid/cpp/src/qpid/broker/QueueCleaner.cpp b/qpid/cpp/src/qpid/broker/QueueCleaner.cpp index 83f3f83520..f21950730d 100644 --- a/qpid/cpp/src/qpid/broker/QueueCleaner.cpp +++ b/qpid/cpp/src/qpid/broker/QueueCleaner.cpp @@ -28,6 +28,11 @@ namespace broker { QueueCleaner::QueueCleaner(QueueRegistry& q, sys::Timer& t) : queues(q), timer(t) {} +QueueCleaner::~QueueCleaner() +{ + task->cancel(); +} + void QueueCleaner::start(qpid::sys::Duration p) { task = new Task(*this, p); diff --git a/qpid/cpp/src/qpid/broker/QueueCleaner.h b/qpid/cpp/src/qpid/broker/QueueCleaner.h index c351cadd8a..11c2d180ac 100644 --- a/qpid/cpp/src/qpid/broker/QueueCleaner.h +++ b/qpid/cpp/src/qpid/broker/QueueCleaner.h @@ -36,6 +36,7 @@ class QueueCleaner { public: QPID_BROKER_EXTERN QueueCleaner(QueueRegistry& queues, sys::Timer& timer); + QPID_BROKER_EXTERN ~QueueCleaner(); QPID_BROKER_EXTERN void start(qpid::sys::Duration period); private: class Task : public sys::TimerTask |