@@ -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