| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* [3.6] bpo-30703: Improve signal delivery (GH-2415)
* Improve signal delivery
Avoid using Py_AddPendingCall from signal handler, to avoid calling signal-unsafe functions.
* Remove unused function
* Improve comments
* Add stress test
* Adapt for --without-threads
* Add second stress test
* Add NEWS blurb
* Address comments @haypo.
(cherry picked from commit c08177a1ccad2ed0d50898c2731b518c631aed14)
* bpo-30796: Fix failures in signal delivery stress test (#2488)
* bpo-30796: Fix failures in signal delivery stress test
setitimer() can have a poor minimum resolution on some machines,
this would make the test reach its deadline (and a stray signal
could then kill a subsequent test).
* Make sure to clear the itimer after the test
|
|
|
|
|
|
|
|
| |
(GH-2493) (#2497)
* bpo-30807: signal.setitimer() may disable the timer by mistake
* Add NEWS blurb
(cherry picked from commit 729780a810bbcb12b245a1b652302a601fc9f6fd)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add Lib/test/signalinterproctester.py
* Don't disable the garbage collector anymore
* Don't use os.fork() with a subprocess to not inherit existing signal handlers
or threads: start from a fresh process
* Don't use UNIX kill command to send a signal but Python os.kill()
* Use a timeout of 10 seconds to wait for the signal instead of 1 second
* Always use signal.pause(), instead of time.wait(1), to wait for a signal
* Use context manager on subprocess.Popen
* remove code to retry on EINTR: it's no more needed since the PEP 475
* remove unused function exit_subprocess()
* Cleanup the code
|
|
|
|
| |
Patch by Christie Wilson.
|
|
|
|
|
|
|
| |
I have compared output between pre- and post-patch runs of these tests
to make sure there's nothing missing and nothing broken, on both
Windows and Linux. The only differences I found were actually tests
that were previously *not* run.
|
|
|
|
| |
signal handler does not raise an exception
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
retried with the recomputed delay, except if the signal handler raises an
exception (PEP 475).
Modify also test_signal to use a monotonic clock instead of the system clock.
|
|
|
|
| |
Sorry, it was a mistake, the patch is still under review: issue #23646.
|
| |
|
| |
|
| |
|
|
|
|
| |
descriptor is in blocking mode.
|
| |
|
|
|
|
| |
A side effect is that Python depends to the WinSock library.
|
|
|
|
|
| |
set the blocking mode of a file descriptor (False if the O_NONBLOCK flag is
set, True otherwise). These functions are not available on Windows.
|
|
|
|
| |
assertIs().
|
| |
|
| |
|
| |
|
|
|
|
| |
ValueError on fstat() failure.
|
|
|
|
|
|
|
|
| |
- Use _testcapi.raise_signal() in test_signal
- close also os.pipe() file descriptors in some test_signal tests where they
were not closed properly
- Remove faulthandler._sigill() and faulthandler._sigbus(): reuse
_testcapi.raise_signal() in test_faulthandler
|
|\ |
|
| | |
|
| | |
|
|/ |
|
|\ |
|
| |
| |
| |
| | |
Report and patch by Vajrasky Kok.
|
| |
| |
| |
| | |
(trying to fix a failure on the FreeBSD 9.0 buildbot)
|
| |
| |
| |
| | |
registered with ``signal.set_wakeup_fd()``, report an exception instead of ignoring the error.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| | |
signal.getsignal returns None for some signals if faulthandler
is enabled (Patch by Jeremy Kloth)
|
|\ \
| |/
| |
| |
| | |
sigwaitinfo() can be interrupted on Linux (raises InterruptedError), but not on
AIX.
|
| |
| |
| |
| |
| | |
sigwaitinfo() can be interrupted on Linux (raises InterruptedError), but not on
AIX.
|
|\ \
| |/ |
|
| | |
|
|\ \
| |/
| |
| | |
Patch by Serhiy Storchaka.
|
| |\
| | |
| | |
| | | |
Patch by Serhiy Storchaka.
|
| | |
| | |
| | |
| | | |
Patch by Serhiy Storchaka.
|
| | | |
|
| | | |
|
| | | |
|
|/ / |
|
| |
| |
| |
| | |
Add a private API to convert an int or float to a C timespec structure.
|
| |
| |
| |
| | |
real-time signals.
|
| |
| |
| |
| |
| |
| |
| | |
When signals are unblocked, pending signal ared delivered in the reverse order
of their number (also on Linux, not only on FreeBSD 6).
Don't sort signals by their number if signals were not blocked (test_signum).
|
| |
| |
| |
| |
| | |
On FreeBSD 6, when signals are unblocked, FreeBSD 6 delivers signals in the
reverse order of their number.
|
| |
| |
| |
| |
| |
| |
| | |
* Don't create a thread at startup anymore to initialize the pthread library:
it changes the behaviour of many functions related to signal handling like
sigwait()
* Reenable test_sigtimedwait_poll() on FreeBSD 6
|
| | |
|
|\ \
| |/
| |
| |
| | |
to run the test in a fresh process with only one thread and to not change
signal handling of the parent process.
|