summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/management
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/management')
-rw-r--r--cpp/src/qpid/management/ManagementAgent.cpp6
-rw-r--r--cpp/src/qpid/management/ManagementAgent.h6
2 files changed, 6 insertions, 6 deletions
diff --git a/cpp/src/qpid/management/ManagementAgent.cpp b/cpp/src/qpid/management/ManagementAgent.cpp
index 76859dd77f..75f7453058 100644
--- a/cpp/src/qpid/management/ManagementAgent.cpp
+++ b/cpp/src/qpid/management/ManagementAgent.cpp
@@ -61,6 +61,7 @@ ManagementAgent::ManagementAgent () :
ManagementAgent::~ManagementAgent ()
{
+ timer.stop();
{
Mutex::ScopedLock lock (userLock);
@@ -88,10 +89,9 @@ void ManagementAgent::configure(const string& _dataDir, uint16_t _interval,
dataDir = _dataDir;
interval = _interval;
broker = _broker;
- timer = &_broker->getTimer();
threadPoolSize = _threads;
ManagementObject::maxThreads = threadPoolSize;
- timer->add (new Periodic(*this, interval));
+ timer.add (intrusive_ptr<TimerTask> (new Periodic(*this, interval)));
// Get from file or generate and save to file.
if (dataDir.empty())
@@ -218,7 +218,7 @@ ManagementAgent::Periodic::~Periodic () {}
void ManagementAgent::Periodic::fire ()
{
- agent.timer->add (new Periodic (agent, agent.interval));
+ agent.timer.add (intrusive_ptr<TimerTask> (new Periodic (agent, agent.interval)));
agent.periodicProcessing ();
}
diff --git a/cpp/src/qpid/management/ManagementAgent.h b/cpp/src/qpid/management/ManagementAgent.h
index ca89c1f8fb..34d53f778d 100644
--- a/cpp/src/qpid/management/ManagementAgent.h
+++ b/cpp/src/qpid/management/ManagementAgent.h
@@ -24,9 +24,9 @@
#include "qpid/broker/BrokerImportExport.h"
#include "qpid/Options.h"
#include "qpid/broker/Exchange.h"
+#include "qpid/broker/Timer.h"
#include "qpid/framing/Uuid.h"
#include "qpid/sys/Mutex.h"
-#include "qpid/sys/Timer.h"
#include "qpid/broker/ConnectionToken.h"
#include "ManagementObject.h"
#include "ManagementEvent.h"
@@ -98,7 +98,7 @@ public:
void disallow(const std::string& className, const std::string& methodName, const std::string& message);
private:
- struct Periodic : public qpid::sys::TimerTask
+ struct Periodic : public qpid::broker::TimerTask
{
ManagementAgent& agent;
@@ -183,12 +183,12 @@ private:
framing::Uuid uuid;
sys::Mutex addLock;
sys::Mutex userLock;
+ qpid::broker::Timer timer;
qpid::broker::Exchange::shared_ptr mExchange;
qpid::broker::Exchange::shared_ptr dExchange;
std::string dataDir;
uint16_t interval;
qpid::broker::Broker* broker;
- qpid::sys::Timer* timer;
uint16_t bootSequence;
uint32_t nextObjectId;
uint32_t brokerBank;