mirror of https://github.com/fail2ban/fail2ban
amend to 5f021aa648c42ee188d8c31a81937d764982a58a: void throw a socket error on shutdown for already closed connection;
closes gh-2109pull/2116/head
parent
8069eef50c
commit
22e9ccb387
|
@ -43,7 +43,7 @@ class CSocket:
|
|||
self.__csock.connect(sock)
|
||||
|
||||
def __del__(self):
|
||||
self.close(False)
|
||||
self.close()
|
||||
|
||||
def send(self, msg, nonblocking=False, timeout=None):
|
||||
# Convert every list member to string
|
||||
|
@ -56,13 +56,18 @@ class CSocket:
|
|||
def settimeout(self, timeout):
|
||||
self.__csock.settimeout(timeout if timeout != -1 else self.__deftout)
|
||||
|
||||
def close(self, sendEnd=True):
|
||||
def close(self):
|
||||
if not self.__csock:
|
||||
return
|
||||
if sendEnd:
|
||||
try:
|
||||
self.__csock.sendall(CSPROTO.CLOSE + CSPROTO.END)
|
||||
self.__csock.shutdown(socket.SHUT_RDWR)
|
||||
self.__csock.close()
|
||||
self.__csock.shutdown(socket.SHUT_RDWR)
|
||||
except socket.error: # pragma: no cover - normally unreachable
|
||||
pass
|
||||
try:
|
||||
self.__csock.close()
|
||||
except socket.error: # pragma: no cover - normally unreachable
|
||||
pass
|
||||
self.__csock = None
|
||||
|
||||
@staticmethod
|
||||
|
|
Loading…
Reference in New Issue