SF patch [#466877] SIGBREAK is missing from signal module.
Patch from Steve Scott to add SIGBREAK support (unique to Windows).
diff --git a/Misc/NEWS b/Misc/NEWS
index b7ccc86..662bd69 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -31,6 +31,26 @@
 
 Windows
 
+- The signal module now supports SIGBREAK on Windows, thanks to Steven
+  Scott.  Note that SIGBREAK is unique to Windows.  The default SIGBREAK
+  action remains to call Win32 ExitProcess().  This can be changed via
+  signal.signal().  For example:
+
+  # Make Ctrl+Break raise KeyboardInterrupt, like Python's default Ctrl+C
+  # (SIGINT) behavior.
+  import signal
+  signal.signal(signal.SIGBREAK,
+                signal.default_int_handler)
+
+  try:
+      while 1:
+          pass
+  except KeyboardInterrupt:
+      # We get here on Ctrl+C or Ctrl+Break now; if we had not changed
+      # SIGBREAK, only on Ctrl+C (and Ctrl+Break would terminate the
+      # program without the possibility for any Python-level cleanup).
+      print "Clean exit"
+
 
 What's New in Python 2.2a4?
 Release date: 28-Sep-2001