Browse Source

Avoid socket error caused by shutting down one non-connected socket.

git-svn-id: svn://bind10.isc.org/svn/bind10/trunk@2432 e5f2f494-b856-4b98-b285-d166d9295462
Likun Zhang 15 years ago
parent
commit
db0e2443ff
1 changed files with 8 additions and 1 deletions
  1. 8 1
      src/bin/xfrout/xfrout.py.in

+ 8 - 1
src/bin/xfrout/xfrout.py.in

@@ -79,10 +79,17 @@ class XfroutSession(BaseRequestHandler):
         sock = socket.fromfd(fd, socket.AF_INET, socket.SOCK_STREAM)
         try:
             self.dns_xfrout_start(sock, msgdata)
+            #TODO, avoid catching all exceptions
         except Exception as e:
             self._log.log_message("error", str(e))
 
-        sock.shutdown(socket.SHUT_RDWR)
+        try:
+            sock.shutdown(socket.SHUT_RDWR)
+        except socket.error:
+            # Avoid socket error caused by shutting down 
+            # one non-connected socket.
+            pass
+
         sock.close()
         os.close(fd)
         pass