pvl.socket: fix recv/send None
authorTero Marttila <terom@paivola.fi>
Sun, 13 Jan 2013 02:16:12 +0200
changeset 120 d342506c3ef3
parent 119 40b5375d4a27
child 121 4f16bf6365f1
pvl.socket: fix recv/send None
pvl/socket.py
--- a/pvl/socket.py	Sun Jan 13 02:11:44 2013 +0200
+++ b/pvl/socket.py	Sun Jan 13 02:16:12 2013 +0200
@@ -192,8 +192,9 @@
 
         log.debug("%s: %s", self, buf)
 
-        # eof?
-        if buf :
+        if buf is None :
+            return None
+        elif buf :
             return buf
         else :
             raise EOFError()
@@ -296,16 +297,18 @@
         send = nonblocking(self.sock.send, buf)
         
         # eof on write?
-        if send :
+        if send is None :
+            return None
+
+        elif send :
             # ok, message (partially) written
             return send
 
         else :
-            # XXX: how do we handle this? What does it actually mean?
+            # XXX: zero-length send? how do we handle this? What does it actually mean?
             # handle as a wouldblock...
             return None
 
-
     def write (self, data) :
         """
             Write given data to socket.