From: Kurt B. Kaiser Date: Mon, 10 Mar 2003 20:42:24 +0000 (+0000) Subject: M PyShell.py X-Git-Tag: v2.3c1~1492 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9ac783d723bda15a34218ebb2037b60e521c3248;p=python M PyShell.py M rpc.py Improve exception handing if peer process has terminated. --- diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py index 946e0b28c1..0c9fbfbcfa 100644 --- a/Lib/idlelib/PyShell.py +++ b/Lib/idlelib/PyShell.py @@ -400,7 +400,10 @@ class ModifiedInterpreter(InteractiveInterpreter): from signal import SIGINT except ImportError: SIGINT = 2 - os.kill(self.rpcpid, SIGINT) + try: + os.kill(self.rpcpid, SIGINT) + except OSError: # subprocess may have already exited + pass def __request_interrupt(self): self.rpcclt.asynccall("exec", "interrupt_the_server", (), {}) diff --git a/Lib/idlelib/rpc.py b/Lib/idlelib/rpc.py index 54455a2602..2939f5fa83 100644 --- a/Lib/idlelib/rpc.py +++ b/Lib/idlelib/rpc.py @@ -166,6 +166,8 @@ class SocketIO: return ("OK", ret) except SystemExit: raise + except socket.error: + pass except: self.debug("localcall:EXCEPTION") traceback.print_exc(file=sys.__stderr__)