summaryrefslogtreecommitdiff
path: root/kafka/conn.py
diff options
context:
space:
mode:
Diffstat (limited to 'kafka/conn.py')
-rw-r--r--kafka/conn.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/kafka/conn.py b/kafka/conn.py
index 23edf22..1e6770f 100644
--- a/kafka/conn.py
+++ b/kafka/conn.py
@@ -628,6 +628,14 @@ class BrokerConnection(object):
self._reconnect_backoff /= 1000.0
log.debug('%s: reconnect backoff %s after %s failures', self, self._reconnect_backoff, self._failures)
+ def _close_socket(self):
+ if self._sock:
+ self._sock.close()
+ self._sock = None
+
+ def __del__(self):
+ self._close_socket()
+
def close(self, error=None):
"""Close socket and fail all in-flight-requests.
@@ -641,9 +649,7 @@ class BrokerConnection(object):
self.state = ConnectionStates.DISCONNECTING
self.config['state_change_callback'](self)
self._update_reconnect_backoff()
- if self._sock:
- self._sock.close()
- self._sock = None
+ self._close_socket()
self.state = ConnectionStates.DISCONNECTED
self._sasl_auth_future = None
self._protocol = KafkaProtocol(