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 3ca573d..1a3a354 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 d4d8295..f185175 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 98b8c13..90a4692 100644
--- a/Lib/idlelib/run.py
+++ b/Lib/idlelib/run.py
@@ -215,6 +215,7 @@
         Interrupt the MainThread and exit server if link is dropped.
 
         """
+        global quitting
         try:
             raise
         except SystemExit:
@@ -233,7 +234,8 @@
             traceback.print_exc(file=erf)
             print>>erf, '\n*** Unrecoverable, server exiting!'
             print>>erf, '-'*40
-            exit()
+            quitting = True
+            thread.interrupt_main()
 
 
 class MyHandler(rpc.RPCHandler):