From fb0b06cab161478db95420c5bfb485c39d508f62 Mon Sep 17 00:00:00 2001 From: bersbersbers <12128514+bersbersbers@users.noreply.github.com> Date: Wed, 5 Feb 2025 18:53:37 +0100 Subject: [PATCH] Suppress warning on exit by properly closing `pydevd` socket (#1826) * Fix #1812, first try * Prevent tries to close socket multiple times --- src/debugpy/_vendored/pydevd/pydevd.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/debugpy/_vendored/pydevd/pydevd.py b/src/debugpy/_vendored/pydevd/pydevd.py index 51f69be3..bc13f111 100644 --- a/src/debugpy/_vendored/pydevd/pydevd.py +++ b/src/debugpy/_vendored/pydevd/pydevd.py @@ -726,6 +726,8 @@ class PyDB(object): self._local_thread_trace_func = threading.local() + self._client_socket = None + self._server_socket_ready_event = ThreadingEvent() self._server_socket_name = None @@ -1504,6 +1506,7 @@ class PyDB(object): def connect(self, host, port): if host: s = start_client(host, port) + self._client_socket = s else: s = start_server(port) @@ -2551,6 +2554,10 @@ class PyDB(object): except: pass finally: + if self._client_socket: + self._client_socket.close() + self._client_socket = None + pydev_log.debug("PyDB.dispose_and_kill_all_pydevd_threads: finished") def prepare_to_run(self):