Issue #12011: signal.signal() and signal.siginterrupt() raise an OSError,

instead of a RuntimeError: OSError has an errno attribute.
This commit is contained in:
Victor Stinner 2011-05-10 17:13:00 +02:00
parent 3c6e4dd11f
commit 388196ed72
3 changed files with 8 additions and 2 deletions

View File

@ -148,6 +148,9 @@ signal
a nul byte into the wakeup file descriptor. So it is possible to wait more
than one signal and know which signals were raised.
* :func:`signal.signal` and :func:`signal.siginterrupt` raise an OSError,
instead of a RuntimeError: OSError has an errno attribute.
Optimizations
=============

View File

@ -143,6 +143,9 @@ Core and Builtins
Library
-------
- Issue #12011: signal.signal() and signal.siginterrupt() raise an OSError,
instead of a RuntimeError: OSError has an errno attribute.
- Issue #3709: a flush_headers method to BaseHTTPRequestHandler which manages
the sending of headers to output stream and flushing the internal headers
buffer. Patch contribution by Andrew Schaaf

View File

@ -324,7 +324,7 @@ signal_signal(PyObject *self, PyObject *args)
else
func = signal_handler;
if (PyOS_setsig(sig_num, func) == SIG_ERR) {
PyErr_SetFromErrno(PyExc_RuntimeError);
PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
old_handler = Handlers[sig_num].func;
@ -393,7 +393,7 @@ signal_siginterrupt(PyObject *self, PyObject *args)
return NULL;
}
if (siginterrupt(sig_num, flag)<0) {
PyErr_SetFromErrno(PyExc_RuntimeError);
PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}