From d70c7c46e17691803c3893757926a91aa767fd2e Mon Sep 17 00:00:00 2001 From: frank Date: Sat, 22 Feb 2025 18:55:59 +0800 Subject: [PATCH] =?UTF-8?q?=5Fclose=E6=96=B9=E6=B3=95=E5=88=86=E5=88=AB?= =?UTF-8?q?=E9=87=8D=E5=86=99=EF=BC=8C=E5=8E=9F=E5=9B=A0=E6=98=AFudp?= =?UTF-8?q?=E5=85=B3=E9=97=AD,=E4=B8=8D=E9=9C=80=E8=A6=81=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=B8=85=E7=90=86wait=5Ffor=5Fsocket=5Fbuffer=5Fempty?= =?UTF-8?q?,=5Fsock.shutdown(socket.SHUT=5FWR).=E9=81=BF=E5=85=8D=E4=BD=BF?= =?UTF-8?q?=E7=94=A8udp=E6=97=B6=E5=80=99=EF=BC=8C=E5=87=BA=E7=8E=B0?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E6=8A=A5=E9=94=99=EF=BC=8C=E5=A6=82=EF=BC=9A?= =?UTF-8?q?"Error=20on=20closing=20the=20transport=20socket:=20[Errno=2010?= =?UTF-8?q?7]=20Transport=20endpoint=20is=20not=20connected"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logstash_async/transport.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/logstash_async/transport.py b/logstash_async/transport.py index 434ea17..b3cb783 100644 --- a/logstash_async/transport.py +++ b/logstash_async/transport.py @@ -133,7 +133,7 @@ def _close(self, force=False): if not self._keep_connection or force: if self._sock: try: - self._wait_for_socket_buffer_empty() + #self._wait_for_socket_buffer_empty() self._try_to_close_socket() finally: self._sock = None @@ -163,7 +163,7 @@ def _is_sock_write_buff_empty(self): # ---------------------------------------------------------------------- def _try_to_close_socket(self): try: - self._sock.shutdown(socket.SHUT_WR) + #self._sock.shutdown(socket.SHUT_WR) self._sock.close() except Exception as exc: self._log_close_socket_error(exc) @@ -199,6 +199,15 @@ def __init__( # pylint: disable=too-many-arguments self._certfile = certfile self._ca_certs = ca_certs self._timeout = timeout + # ---------------------------------------------------------------------- + def _close(self, force=False): + if not self._keep_connection or force: + if self._sock: + try: + self._wait_for_socket_buffer_empty() + self._try_to_close_socket() + finally: + self._sock = None # ---------------------------------------------------------------------- def _create_socket(self):