[svn] commit: r301 - in /branches/parkinglot/src: bin/bind10/bind10.py bin/parkinglot/ccsession.cc lib/bind-cfgd/python/bind-cfgd.py

BIND 10 source code commits bind10-changes at lists.isc.org
Fri Nov 20 09:37:20 UTC 2009


Author: jelte
Date: Fri Nov 20 09:37:20 2009
New Revision: 301

Log:
fix handling of shutdown messages

Modified:
    branches/parkinglot/src/bin/bind10/bind10.py
    branches/parkinglot/src/bin/parkinglot/ccsession.cc
    branches/parkinglot/src/lib/bind-cfgd/python/bind-cfgd.py

Modified: branches/parkinglot/src/bin/bind10/bind10.py
==============================================================================
--- branches/parkinglot/src/bin/bind10/bind10.py (original)
+++ branches/parkinglot/src/bin/bind10/bind10.py Fri Nov 20 09:37:20 2009
@@ -154,7 +154,8 @@
     def stop_all_processes(self):
         """Stop all processes."""
         cmd = { "command": "shutdown" }
-        self.cc_session.group_sendmsg(cmd, "Boss", "*")
+        self.cc_session.group_sendmsg(cmd, "Boss", "ConfigManager")
+        self.cc_session.group_sendmsg(cmd, "Boss", "ParkingLot")
 
     def stop_process(self, process):
         """Stop the given process, friendly-like."""

Modified: branches/parkinglot/src/bin/parkinglot/ccsession.cc
==============================================================================
--- branches/parkinglot/src/bin/parkinglot/ccsession.cc (original)
+++ branches/parkinglot/src/bin/parkinglot/ccsession.cc Fri Nov 20 09:37:20 2009
@@ -41,7 +41,7 @@
     try {
         session_.establish();
         session_.subscribe("ParkingLot", "*");
-        session_.subscribe("Boss", "*", "meonly");
+        session_.subscribe("Boss", "ParkingLot");
         session_.subscribe("ConfigManager", "*", "meonly");
         session_.subscribe("statistics", "*", "meonly");
     } catch (...) {
@@ -83,6 +83,12 @@
         if (cmd != NULL) {
             return std::pair<string, string>("delzone", cmd->string_value());
         }
+        cmd = data->get("command");
+        if (cmd != NULL) {
+            if (cmd->get_type() == Element::string && cmd->string_value() == "shutdown") {
+                return std::pair<string, string>("shutdown", "");
+            }
+        }
     }
 
     return std::pair<string, string>("unknown", "");

Modified: branches/parkinglot/src/lib/bind-cfgd/python/bind-cfgd.py
==============================================================================
--- branches/parkinglot/src/lib/bind-cfgd/python/bind-cfgd.py (original)
+++ branches/parkinglot/src/lib/bind-cfgd/python/bind-cfgd.py Fri Nov 20 09:37:20 2009
@@ -74,7 +74,7 @@
                         answer["result"] = [ 1, "Unknown zone" ]
                 elif cmd[0] == "zone" and cmd[1] == "list":
                     answer["result"]     = list(self.config.zones.keys())
-                elif len(cmd) > 1 and cmd[1] == "shutdown":
+                elif cmd == "shutdown":
                     print("Received shutdown command")
                     self.running = False
                 else:




More information about the bind10-changes mailing list