Author: tross
Date: Thu Nov 6 10:29:31 2008
New Revision: 711933
URL: http://svn.apache.org/viewvc?rev=711933&view=rev
Log:
QPID-1437 - Made example better able to demonstrate proper shutdown by adding a
signal handler
Modified:
incubator/qpid/trunk/qpid/cpp/examples/qmf-agent/example.cpp
Modified: incubator/qpid/trunk/qpid/cpp/examples/qmf-agent/example.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/examples/qmf-agent/example.cpp?rev=711933&r1=711932&r2=711933&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/examples/qmf-agent/example.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/examples/qmf-agent/example.cpp Thu Nov 6
10:29:31 2008
@@ -29,6 +29,7 @@
#include "qmf/org/apache/qpid/agent/example/EventChildCreated.h"
#include "qmf/org/apache/qpid/agent/example/Package.h"
+#include <signal.h>
#include <unistd.h>
#include <cstdlib>
#include <iostream>
@@ -149,14 +150,25 @@
//==============================================================
// 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);