From bf96051a1c81fd6a6384b5c249cc827f6cb1f38c Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Tue, 16 Jun 2009 18:41:58 +0000 Subject: Minor cleanup of the new management-failover example. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@785339 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/examples/qmf-console/cluster-qmon.cpp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/qpid/cpp/examples/qmf-console/cluster-qmon.cpp b/qpid/cpp/examples/qmf-console/cluster-qmon.cpp index 4ee2ce1edd..fe92f8a8ae 100644 --- a/qpid/cpp/examples/qmf-console/cluster-qmon.cpp +++ b/qpid/cpp/examples/qmf-console/cluster-qmon.cpp @@ -43,6 +43,11 @@ using qpid::sys::Mutex; //============================================================== // Main program //============================================================== + +// +// The Main class extends ConsoleListener so it can receive broker connected/disconnected +// notifications. +// class Main : public ConsoleListener { bool stopping; // Used to tell the program to exit Mutex lock; // Mutex to protect the broker-map @@ -84,11 +89,12 @@ public: // Connect to the brokers. // for (int idx = 1; idx < argc; idx++) { - Mutex::ScopedLock l(lock); qpid::client::ConnectionSettings connSettings; connSettings.host = "localhost"; connSettings.port = atoi(argv[idx]); Broker* broker = sm.addBroker(connSettings); + + Mutex::ScopedLock l(lock); brokerMap[broker] = false; // initially assume broker is disconnected } @@ -100,11 +106,14 @@ public: // Find an operational broker // Broker* operationalBroker = 0; - for (map::iterator iter = brokerMap.begin(); - iter != brokerMap.end(); iter++) { - if (iter->second) { - operationalBroker = iter->first; - break; + { + Mutex::ScopedLock l(lock); + for (map::iterator iter = brokerMap.begin(); + iter != brokerMap.end(); iter++) { + if (iter->second) { + operationalBroker = iter->first; + break; + } } } -- cgit v1.2.1