[svn] commit: r1449 - in /trunk/src/lib/python/isc/config: ccsession.py cfgmgr.py

BIND 10 source code commits bind10-changes at lists.isc.org
Tue Mar 16 14:19:30 UTC 2010


Author: jelte
Date: Tue Mar 16 14:19:30 2010
New Revision: 1449

Log:
use the sequence number to get the right answer in cfgmgr and ccsession.py (and hence in modules) too 

Modified:
    trunk/src/lib/python/isc/config/ccsession.py
    trunk/src/lib/python/isc/config/cfgmgr.py

Modified: trunk/src/lib/python/isc/config/ccsession.py
==============================================================================
--- trunk/src/lib/python/isc/config/ccsession.py (original)
+++ trunk/src/lib/python/isc/config/ccsession.py Tue Mar 16 14:19:30 2010
@@ -249,8 +249,8 @@
         self._session.group_subscribe(module_name);
 
         # Get the current config for that module now
-        self._session.group_sendmsg({ "command": [ "get_config", { "module_name": module_name } ] }, "ConfigManager")
-        answer, env = self._session.group_recvmsg(False)
+        seq = self._session.group_sendmsg({ "command": [ "get_config", { "module_name": module_name } ] }, "ConfigManager")
+        answer, env = self._session.group_recvmsg(False, seq)
         if answer:
             rcode, value = parse_answer(answer)
             if rcode == 0:
@@ -279,14 +279,14 @@
     def __send_spec(self):
         """Sends the data specification to the configuration manager"""
         msg = create_command(COMMAND_MODULE_SPEC, self.get_module_spec().get_full_spec())
-        self._session.group_sendmsg(msg, "ConfigManager")
-        answer, env = self._session.group_recvmsg(False)
+        seq = self._session.group_sendmsg(msg, "ConfigManager")
+        answer, env = self._session.group_recvmsg(False, seq)
         
     def __request_config(self):
         """Asks the configuration manager for the current configuration, and call the config handler if set.
            Raises a ModuleCCSessionError if there is no answer from the configuration manager"""
-        self._session.group_sendmsg({ "command": [ "get_config", { "module_name": self._module_name } ] }, "ConfigManager")
-        answer, env = self._session.group_recvmsg(False)
+        seq = self._session.group_sendmsg({ "command": [ "get_config", { "module_name": self._module_name } ] }, "ConfigManager")
+        answer, env = self._session.group_recvmsg(False, seq)
         if answer:
             rcode, value = parse_answer(answer)
             if rcode == 0:

Modified: trunk/src/lib/python/isc/config/cfgmgr.py
==============================================================================
--- trunk/src/lib/python/isc/config/cfgmgr.py (original)
+++ trunk/src/lib/python/isc/config/cfgmgr.py Tue Mar 16 14:19:30 2010
@@ -244,16 +244,16 @@
             if conf_part:
                 data.merge(conf_part, cmd[1])
                 update_cmd = isc.config.ccsession.create_command(isc.config.ccsession.COMMAND_CONFIG_UPDATE, conf_part)
-                self.cc.group_sendmsg(update_cmd, module_name)
-                answer, env = self.cc.group_recvmsg(False)
+                seq = self.cc.group_sendmsg(update_cmd, module_name)
+                answer, env = self.cc.group_recvmsg(False, seq)
             else:
                 conf_part = data.set(self.config.data, module_name, {})
                 data.merge(conf_part[module_name], cmd[1])
                 # send out changed info
                 update_cmd = isc.config.ccsession.create_command(isc.config.ccsession.COMMAND_CONFIG_UPDATE, conf_part[module_name])
-                self.cc.group_sendmsg(update_cmd, module_name)
+                seq = self.cc.group_sendmsg(update_cmd, module_name)
                 # replace 'our' answer with that of the module
-                answer, env = self.cc.group_recvmsg(False)
+                answer, env = self.cc.group_recvmsg(False, seq)
             if answer:
                 rcode, val = isc.config.ccsession.parse_answer(answer)
                 if rcode == 0:
@@ -269,8 +269,8 @@
             for module in self.config.data:
                 if module != "version" and (module not in old_data or self.config.data[module] != old_data[module]):
                     update_cmd = isc.config.ccsession.create_command(isc.config.ccsession.COMMAND_CONFIG_UPDATE, self.config.data[module])
-                    self.cc.group_sendmsg(update_cmd, module)
-                    answer, env = self.cc.group_recvmsg(False)
+                    seq = self.cc.group_sendmsg(update_cmd, module)
+                    answer, env = self.cc.group_recvmsg(False, seq)
                     if answer == None:
                         got_error = True
                         err_list.append("No answer message from " + module)




More information about the bind10-changes mailing list