Browse Source

modify select fd handling logic

git-svn-id: svn://bind10.isc.org/svn/bind10/branches/trac335@3172 e5f2f494-b856-4b98-b285-d166d9295462
Jerry 14 years ago
parent
commit
288f0861e7
1 changed files with 6 additions and 7 deletions
  1. 6 7
      src/bin/zonemgr/zonemgr.py.in

+ 6 - 7
src/bin/zonemgr/zonemgr.py.in

@@ -362,13 +362,12 @@ class ZonemgrRefresh:
                     sys.stderr.write("[b10-zonemgr] Error with select(); %s\n" % e)
                     break
 
-            if not rlist: # timer timeout 
-                continue
-            if self._read_sock in rlist: # awaken by shutdown socket 
-                self._read_sock.recv(32)
-                return
-            if self._check_sock in rlist: # awaken by check socket
-                self._check_sock.recv(32)
+            for fd in rlist:
+                if fd == self._read_sock: # awaken by shutdown socket 
+                    self._read_sock.recv(32)
+                    return
+                if fd == self._check_sock: # awaken by check socket
+                    self._check_sock.recv(32)
 
     def shutdown(self):
         """Stop the run_timer() loop. Block until the loop has finished. This must be