You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2014/09/25 16:39:41 UTC

svn commit: r1627553 - /qpid/trunk/qpid/python/qpid/connection08.py

Author: kwall
Date: Thu Sep 25 14:39:40 2014
New Revision: 1627553

URL: http://svn.apache.org/r1627553
Log:
QPID-6117: [Python Client 0-8..0-9] Ignore socket.error ENOTCONN when trying to shutdown a socket to prevent spurious exception when socket closed by peer

Modified:
    qpid/trunk/qpid/python/qpid/connection08.py

Modified: qpid/trunk/qpid/python/qpid/connection08.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/connection08.py?rev=1627553&r1=1627552&r2=1627553&view=diff
==============================================================================
--- qpid/trunk/qpid/python/qpid/connection08.py (original)
+++ qpid/trunk/qpid/python/qpid/connection08.py Thu Sep 25 14:39:40 2014
@@ -23,7 +23,7 @@ to read and write Frame objects. This co
 server, or even a proxy implementation.
 """
 
-import socket, codec, logging, qpid
+import socket, codec, errno, qpid
 from cStringIO import StringIO
 from codec import EOF
 from compat import SHUT_RDWR
@@ -60,8 +60,15 @@ class SockIO:
     pass
 
   def close(self):
-    self.sock.shutdown(SHUT_RDWR)
-    self.sock.close()
+    try:
+      self.sock.shutdown(SHUT_RDWR)
+    except socket.error, e:
+      if (e.errno == errno.ENOTCONN):
+        pass
+      else:
+        raise
+    finally:
+      self.sock.close()
 
 def connect(host, port, options = None):
   sock = socket.socket()



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org