]> granicus.if.org Git - python/commitdiff
M PyShell.py
authorKurt B. Kaiser <kbk@shore.net>
Mon, 10 Mar 2003 20:42:24 +0000 (20:42 +0000)
committerKurt B. Kaiser <kbk@shore.net>
Mon, 10 Mar 2003 20:42:24 +0000 (20:42 +0000)
M rpc.py
Improve exception handing if peer process has terminated.

Lib/idlelib/PyShell.py
Lib/idlelib/rpc.py

index 946e0b28c15e2d3ce346f5fabc046b6b199fb6f2..0c9fbfbcfac20eca85b6a2c644a102946879e7ec 100644 (file)
@@ -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", (), {})
index 54455a260208e7b784734c62fab54a3fb41051c7..2939f5fa83bf9f12b41cc18dfea1b68f3fb3f8fa 100644 (file)
@@ -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__)