mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
Issue #23715: signal.sigwaitinfo() and signal.sigtimedwait() are now retried
when interrupted by a signal not in the *sigset* parameter, if the signal handler does not raise an exception. signal.sigtimedwait() recomputes the timeout with a monotonic clock when it is retried. Remove test_signal.test_sigwaitinfo_interrupted() because sigwaitinfo() doesn't raise InterruptedError anymore if it is interrupted by a signal not in its sigset parameter.
This commit is contained in:
parent
a3c0202eb5
commit
a453cd8d85
5 changed files with 99 additions and 56 deletions
|
@ -408,6 +408,11 @@ The :mod:`signal` module defines the following functions:
|
|||
|
||||
.. versionadded:: 3.3
|
||||
|
||||
.. versionchanged:: 3.5
|
||||
The function is now retried if interrupted by a signal not in *sigset*
|
||||
and the signal handler does not raise an exception (see :pep:`475` for
|
||||
the rationale).
|
||||
|
||||
|
||||
.. function:: sigtimedwait(sigset, timeout)
|
||||
|
||||
|
@ -422,6 +427,11 @@ The :mod:`signal` module defines the following functions:
|
|||
|
||||
.. versionadded:: 3.3
|
||||
|
||||
.. versionchanged:: 3.5
|
||||
The function is now retried with the recomputed timeout if interrupted by
|
||||
a signal not in *sigset* and the signal handler does not raise an
|
||||
exception (see :pep:`475` for the rationale).
|
||||
|
||||
|
||||
.. _signal-example:
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue