Skip to content

Commit 7fb0526

Browse files
committed
Closes socket in client destructor to avoid FD leak.
1 parent 4554c60 commit 7fb0526

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

AWSIoTPythonSDK/core/protocol/paho/client.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,8 @@ def __init__(self, client_id="", clean_session=True, userdata=None, protocol=MQT
511511
self._alpn_protocols = None
512512

513513
def __del__(self):
514-
pass
514+
# Closes socket in client destructor to avoid FD leak.
515+
self._reset_sockets()
515516

516517

517518
def setBackoffTiming(self, srcBaseReconnectTimeSecond, srcMaximumReconnectTimeSecond, srcMinimumConnectTimeSecond):
@@ -543,7 +544,8 @@ def config_alpn_protocols(self, alpn_protocols):
543544
"""
544545
self._alpn_protocols = alpn_protocols
545546

546-
def reinitialise(self, client_id="", clean_session=True, userdata=None):
547+
# Closes socket in client destructor to avoid FD leak.
548+
def _reset_sockets(self):
547549
if self._ssl:
548550
self._ssl.close()
549551
self._ssl = None
@@ -558,6 +560,9 @@ def reinitialise(self, client_id="", clean_session=True, userdata=None):
558560
self._sockpairW.close()
559561
self._sockpairW = None
560562

563+
# Closes socket in client destructor to avoid FD leak.
564+
def reinitialise(self, client_id="", clean_session=True, userdata=None):
565+
self._reset_sockets()
561566
self.__init__(client_id, clean_session, userdata)
562567

563568
def tls_set(self, ca_certs, certfile=None, keyfile=None, cert_reqs=cert_reqs, tls_version=tls_version, ciphers=None):

0 commit comments

Comments
 (0)