diff --git a/redis/connection.py b/redis/connection.py index 87aa986d17..b323be058b 100644 --- a/redis/connection.py +++ b/redis/connection.py @@ -764,6 +764,10 @@ def _connect(self): except OSError as _: err = _ if sock is not None: + try: + sock.shutdown(socket.SHUT_RDWR) # ensure a clean close + except OSError: + pass sock.close() if err is not None: @@ -1179,6 +1183,10 @@ def _connect(self): sock.connect(self.path) except OSError: # Prevent ResourceWarnings for unclosed sockets. + try: + sock.shutdown(socket.SHUT_RDWR) # ensure a clean close + except OSError: + pass sock.close() raise sock.settimeout(self.socket_timeout)