Commit 1ce3cf77 authored by Tim Peters's avatar Tim Peters

SF patch [#466877] SIGBREAK is missing from signal module.

Patch from Steve Scott to add SIGBREAK support (unique to Windows).
parent fbacaf72
......@@ -362,6 +362,7 @@ Peter Schneider-Kamp
Sam Schulenburg
Dietmar Schwertberger
Barry Scott
Steven Scott
Nick Seidenman
Fred Sells
Denis Severson
......
......@@ -31,6 +31,26 @@ Tests
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
......
......@@ -383,6 +383,11 @@ initsignal(void)
PyDict_SetItemString(d, "SIGINT", x);
Py_XDECREF(x);
#endif
#ifdef SIGBREAK
x = PyInt_FromLong(SIGBREAK);
PyDict_SetItemString(d, "SIGBREAK", x);
Py_XDECREF(x);
#endif
#ifdef SIGQUIT
x = PyInt_FromLong(SIGQUIT);
PyDict_SetItemString(d, "SIGQUIT", x);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment