summaryrefslogtreecommitdiff
path: root/kafka/conn.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@rd.io>2014-08-19 22:33:07 -0700
committerDana Powers <dana.powers@rd.io>2014-08-19 22:33:07 -0700
commitcb3184554b5e61663371f3043ac22214046e3713 (patch)
tree5c01c876737979c9596f554537160da3f40a5448 /kafka/conn.py
parent7b9322f0e19f1d6fc049d481e233e49bbc28b519 (diff)
downloadkafka-python-cb3184554b5e61663371f3043ac22214046e3713.tar.gz
Shutdown socket before closing in kafka.conn
Diffstat (limited to 'kafka/conn.py')
-rw-r--r--kafka/conn.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/kafka/conn.py b/kafka/conn.py
index 2e37ecf..33c799c 100644
--- a/kafka/conn.py
+++ b/kafka/conn.py
@@ -155,6 +155,15 @@ class KafkaConnection(local):
"""
log.debug("Closing socket connection for %s:%d" % (self.host, self.port))
if self._sock:
+ # Call shutdown to be a good TCP client
+ # But expect an error if the socket has already been
+ # closed by the server
+ try:
+ self._sock.shutdown(socket.SHUT_RDWR)
+ except socket.error:
+ pass
+
+ # Closing the socket should always succeed
self._sock.close()
self._sock = None
else: