[svn] commit: r119 - /trunk/src/lib/cc/python/ISC/CC/session.py

BIND 10 source code commits bind10-changes at lists.isc.org
Tue Oct 27 01:31:21 UTC 2009


Author: mgraff
Date: Tue Oct 27 01:31:21 2009
New Revision: 119

Log:
exception on close

Modified:
    trunk/src/lib/cc/python/ISC/CC/session.py

Modified: trunk/src/lib/cc/python/ISC/CC/session.py
==============================================================================
--- trunk/src/lib/cc/python/ISC/CC/session.py (original)
+++ trunk/src/lib/cc/python/ISC/CC/session.py Tue Oct 27 01:31:21 2009
@@ -20,6 +20,7 @@
 import Message
 
 class ProtocolError(Exception): pass
+class NetworkError(Exception): pass
 
 class Session:
     def __init__(self):
@@ -69,8 +70,8 @@
                 data = self._socket.recv(length)
             except:
                 return None
-            if not data: # server closed connection
-                return None
+            if data == "": # server closed connection
+                raise ProtocolError("Read of 0 bytes: connection closed")
 
             self._recvbuffer += data
             if len(self._recvbuffer) < 4:
@@ -80,7 +81,12 @@
 
         length = self._recvlength - len(self._recvbuffer)
         while (length > 0):
-            data = self._socket.recv(length)
+            try:
+                data = self._socket.recv(length)
+            except:
+                return None
+            if data == "": # server closed connection
+                raise ProtocolError("Read of 0 bytes: connection closed")
             self._recvbuffer += data
             length -= len(data)
         data = self._recvbuffer




More information about the bind10-changes mailing list