Author: tross
Date: Thu Nov 12 14:35:39 2009
New Revision: 835392

URL: http://svn.apache.org/viewvc?rev=835392&view=rev
Log:
QPID-2179 - example qmf-agent occasionally crashes on shutdown
Committed patch from Ken Giusti

Modified:
    qpid/trunk/qpid/cpp/examples/qmf-agent/example.cpp

Modified: qpid/trunk/qpid/cpp/examples/qmf-agent/example.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/examples/qmf-agent/example.cpp?rev=835392&r1=835391&r2=835392&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/examples/qmf-agent/example.cpp (original)
+++ qpid/trunk/qpid/cpp/examples/qmf-agent/example.cpp Thu Nov 12 14:35:39 2009
@@ -36,6 +36,8 @@
 
 #include <sstream>
 
+static bool running = true;
+
 using namespace std;
 using qpid::management::ManagementAgent;
 using qpid::management::ManagementObject;
@@ -101,7 +103,7 @@
 void CoreClass::doLoop()
 {
     // Periodically bump a counter to provide a changing statistical value
-    while (1) {
+    while (running) {
         qpid::sys::sleep(1);
         mgmtObject->inc_count();
         mgmtObject->set_state("IN_LOOP");
@@ -155,8 +157,7 @@
 
 void shutdown(int)
 {
-    delete singleton;
-    exit(0);
+    running = false;
 }
 
 int main_int(int argc, char** argv)
@@ -188,6 +189,9 @@
 
     core1.doLoop();
 
+    // done, cleanup and exit
+    delete singleton;
+
     return 0;
 }
 



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscr...@qpid.apache.org

Reply via email to