diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py index bed09f05d0e..f1ddbb5edae 100644 --- a/Lib/logging/handlers.py +++ b/Lib/logging/handlers.py @@ -876,6 +876,7 @@ class SysLogHandler(logging.Handler): try: self.socket.send(msg) except OSError: + self.socket.close() self._connect_unixsocket(self.address) self.socket.send(msg) elif self.socktype == socket.SOCK_DGRAM: diff --git a/Misc/NEWS b/Misc/NEWS index ceab576aa30..953d57e0790 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -91,6 +91,8 @@ Core and Builtins Library ------- +- Issue #17981: Closed socket on error in SysLogHandler. + - Issue #17964: Fix os.sysconf(): the return type of the C sysconf() function is long, not int.