From d1120dc4f0c20cd4ad0ee576e19f316fe19d3c71 Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Thu, 6 Nov 2008 18:29:31 +0000 Subject: QPID-1437 - Made example better able to demonstrate proper shutdown by adding a signal handler git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@711933 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/examples/qmf-agent/example.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'cpp') diff --git a/cpp/examples/qmf-agent/example.cpp b/cpp/examples/qmf-agent/example.cpp index e24e729e1d..8c47a0c366 100644 --- a/cpp/examples/qmf-agent/example.cpp +++ b/cpp/examples/qmf-agent/example.cpp @@ -29,6 +29,7 @@ #include "qmf/org/apache/qpid/agent/example/EventChildCreated.h" #include "qmf/org/apache/qpid/agent/example/Package.h" +#include #include #include #include @@ -149,14 +150,25 @@ ChildClass::ChildClass(ManagementAgent* agent, CoreClass* parent, string name) //============================================================== // Main program //============================================================== + +ManagementAgent::Singleton* singleton; + +void shutdown(int) +{ + delete singleton; + exit(0); +} + int main_int(int argc, char** argv) { - ManagementAgent::Singleton singleton; + singleton = new ManagementAgent::Singleton(); const char* host = argc>1 ? argv[1] : "127.0.0.1"; int port = argc>2 ? atoi(argv[2]) : 5672; + signal(SIGINT, shutdown); + // Create the qmf management agent - ManagementAgent* agent = singleton.getInstance(); + ManagementAgent* agent = singleton->getInstance(); // Register the Qmf_example schema with the agent _qmf::Package packageInit(agent); -- cgit v1.2.1