From: Kurt B. Kaiser <kbk@shore.net>
Date: Fri, 19 Nov 2004 15:46:49 +0000 (+0000)
Subject: On OpenBSD, terminating IDLE with ctrl-c from the command line caused a
X-Git-Tag: v2.4~31
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e953511858365619e953f12f88326272c20cd6f1;p=python

On OpenBSD, terminating IDLE with ctrl-c from the command line caused a
stuck subprocess MainThread because only the SocketThread was exiting.

M NEWS.txt
M idlever.py
M run.py
---

diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt
index 3ca573d0d1..1a3a35485f 100644
--- a/Lib/idlelib/NEWS.txt
+++ b/Lib/idlelib/NEWS.txt
@@ -1,3 +1,11 @@
+What's New in IDLE 1.1rc2?
+=============================
+
+*Release date: XX-NOV-2004*
+
+- On OpenBSD, terminating IDLE with ctrl-c from the command line caused a
+  stuck subprocess MainThread because only the SocketThread was exiting.
+
 What's New in IDLE 1.1b3/rc1?
 =============================
 
diff --git a/Lib/idlelib/idlever.py b/Lib/idlelib/idlever.py
index d4d8295dc6..f185175c28 100644
--- a/Lib/idlelib/idlever.py
+++ b/Lib/idlelib/idlever.py
@@ -1 +1 @@
-IDLE_VERSION = "1.1c1"
+IDLE_VERSION = "1.1c2"
diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py
index 98b8c13030..90a46922c6 100644
--- a/Lib/idlelib/run.py
+++ b/Lib/idlelib/run.py
@@ -215,6 +215,7 @@ class MyRPCServer(rpc.RPCServer):
         Interrupt the MainThread and exit server if link is dropped.
 
         """
+        global quitting
         try:
             raise
         except SystemExit:
@@ -233,7 +234,8 @@ class MyRPCServer(rpc.RPCServer):
             traceback.print_exc(file=erf)
             print>>erf, '\n*** Unrecoverable, server exiting!'
             print>>erf, '-'*40
-            exit()
+            quitting = True
+            thread.interrupt_main()
 
 
 class MyHandler(rpc.RPCHandler):