Commit eccd4d91 authored by Brian Curtin's avatar Brian Curtin

Merged revisions 85140 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85140 | brian.curtin | 2010-10-01 09:49:24 -0500 (Fri, 01 Oct 2010) | 4 lines

  Fix #10003. Add SIGBREAK to the set of valid signals on Windows.

  This fixes a regression noticed by bzr, introduced by issue #9324.
........
parent 0b441dad
...@@ -212,13 +212,13 @@ class BasicSignalTests(unittest.TestCase): ...@@ -212,13 +212,13 @@ class BasicSignalTests(unittest.TestCase):
@unittest.skipUnless(sys.platform == "win32", "Windows specific") @unittest.skipUnless(sys.platform == "win32", "Windows specific")
class WindowsSignalTests(unittest.TestCase): class WindowsSignalTests(unittest.TestCase):
def test_issue9324(self): def test_issue9324(self):
# Updated for issue #10003, adding SIGBREAK
handler = lambda x, y: None handler = lambda x, y: None
signal.signal(signal.SIGABRT, handler) for sig in (signal.SIGABRT, signal.SIGBREAK, signal.SIGFPE,
signal.signal(signal.SIGFPE, handler) signal.SIGILL, signal.SIGINT, signal.SIGSEGV,
signal.signal(signal.SIGILL, handler) signal.SIGTERM):
signal.signal(signal.SIGINT, handler) # Set and then reset a handler for signals that work on windows
signal.signal(signal.SIGSEGV, handler) signal.signal(sig, signal.signal(sig, handler))
signal.signal(signal.SIGTERM, handler)
with self.assertRaises(ValueError): with self.assertRaises(ValueError):
signal.signal(-1, handler) signal.signal(-1, handler)
......
...@@ -523,6 +523,9 @@ Library ...@@ -523,6 +523,9 @@ Library
Extension Modules Extension Modules
----------------- -----------------
- Issue #10003: Allow handling of SIGBREAK on Windows. Fixes a regression
introduced by issue #9324.
- Issue #8734: Avoid crash in msvcrt.get_osfhandle() when an invalid file - Issue #8734: Avoid crash in msvcrt.get_osfhandle() when an invalid file
descriptor is provided. Patch by Pascal Chambon. descriptor is provided. Patch by Pascal Chambon.
......
...@@ -258,6 +258,11 @@ signal_signal(PyObject *self, PyObject *args) ...@@ -258,6 +258,11 @@ signal_signal(PyObject *self, PyObject *args)
/* Validate that sig_num is one of the allowable signals */ /* Validate that sig_num is one of the allowable signals */
switch (sig_num) { switch (sig_num) {
case SIGABRT: break; case SIGABRT: break;
#ifdef SIGBREAK
/* Issue #10003: SIGBREAK is not documented as permitted, but works
and corresponds to CTRL_BREAK_EVENT. */
case SIGBREAK: break;
#endif
case SIGFPE: break; case SIGFPE: break;
case SIGILL: break; case SIGILL: break;
case SIGINT: break; case SIGINT: break;
......
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