From c3217df886422ecfc0be8b4fd28dec22f93f8f1a Mon Sep 17 00:00:00 2001 From: ahaslam Date: Fri, 21 Sep 2018 13:12:44 +1200 Subject: [PATCH] Handled specific exception generated when detaching from the debug session in VS Code using the debug 'disconnect' button. Prevents the ptvsd from becoming unresponsive (#823) --- ptvsd/wrapper.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ptvsd/wrapper.py b/ptvsd/wrapper.py index 3d5f2ffc..46256565 100644 --- a/ptvsd/wrapper.py +++ b/ptvsd/wrapper.py @@ -890,6 +890,15 @@ class VSCodeMessageProcessorBase(ipcjson.SocketIO, ipcjson.IpcChannel): _util.lock_release(self._listening) _util.lock_release(self._connected) self.close() + except socket.error as exc: + if exc.errno == errno.ECONNRESET: + debug('client socket forcibly closed') + with self._connlock: + _util.lock_release(self._listening) + _util.lock_release(self._connected) + self.close() + else: + raise exc self.server_thread = _util.new_hidden_thread( target=process_messages, name=threadname,