diff options
| author | Keith Wall <kwall@apache.org> | 2014-09-25 14:39:40 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2014-09-25 14:39:40 +0000 |
| commit | 12a27099d9b4bd8f0a35c36f24be2ddee848021d (patch) | |
| tree | 180f284baa30e533598e587b518625c804d29853 /qpid/python | |
| parent | 41a0f87c92e29043cb4325fa8eef9841472031fc (diff) | |
| download | qpid-python-12a27099d9b4bd8f0a35c36f24be2ddee848021d.tar.gz | |
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
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1627553 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/python')
| -rw-r--r-- | qpid/python/qpid/connection08.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/qpid/python/qpid/connection08.py b/qpid/python/qpid/connection08.py index 49310fb537..7694114623 100644 --- a/qpid/python/qpid/connection08.py +++ b/qpid/python/qpid/connection08.py @@ -23,7 +23,7 @@ to read and write Frame objects. This could be used by a client, 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() |
