| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
fresh process with only one thread and to not change signal handling of the
parent process.
|
|\ \
| |/
| |
| |
| |
| |
| |
| | |
Move also the "ready" trigger after the installation of the signal handler and
the call to siginterrupt().
Use a timeout of 5 seconds instead of 3. Two seconds are supposed to be enough,
but some of our buildbots are really slow (especially the FreeBSD 6 VM).
|
| |
| |
| |
| |
| |
| |
| |
| | |
Move also the "ready" trigger after the installation of the signal handler and
the call to siginterrupt().
Use a timeout of 5 seconds instead of 3. Two seconds are supposed to be enough,
but some of our buildbots are really slow (especially the FreeBSD 6 VM).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Backport commits 968b9ff9a059 and aff0a7b0cb12 from the default branch to 3.2
branch. Extract of the changelog messages:
"The previous tests used time.sleep() to synchronize two processes. If the host
was too slow, the test could fail.
The new tests only use one process, but they use a subprocess to:
- have only one thread
- have a timeout on the blocking read (select cannot be used in the test,
select always fail with EINTR, the kernel doesn't restart it)
- not touch signal handling of the parent process"
and
"Add a basic synchronization code between the child and the parent processes:
the child writes "ready" to stdout."
I replaced .communicate(timeout=3.0) by an explicit waiting loop using
Popen.poll().
|
| |
| |
| |
| |
| |
| |
| | |
... instead of using fork(): sig*wait*() functions behave differently (not
correctly) after a fork, especially on FreeBSD 6.
Skip also test_sigtimedwait_poll() on FreeBSD 6 because of a kernel bug.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
On FreeBSD6, pthread_kill() doesn't work on the main thread before the creation
of the first thread. Create therefore a dummy thread (no-op) a startup to
initialize the pthread library.
Add also a test for this use case, test written by Charles-François Natali.
|
| |
| |
| |
| |
| | |
Add a basic synchronization code between the child and the parent processes:
the child writes "ready" to stdout.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The previous tests used time.sleep() to synchronize two processes. If the host
was too slow, the test could fail.
The new tests only use one process, but they use a subprocess to:
- have only one thread
- have a timeout on the blocking read (select cannot be used in the test,
select always fail with EINTR, the kernel doesn't restart it)
- not touch signal handling of the parent process
|
| |
| |
| |
| |
| | |
Spawn a new process instead of using fork(). Patch written by Charles-François
Natali.
|
| |
| |
| |
| |
| | |
The new tests now requires pthread_sigmask(). Skip the test if the function is
missing, e.g. if Python is compiled without threads.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Block the signal before calling sigwait(). Use os.fork() to ensure that we have
only one thread.
Initial patch written by Charles-François Natali.
|
| |
| |
| |
| | |
Initial patch by Charles-François Natali.
|
| |
| |
| |
| | |
Tthe signal delivery order is not portable or reliable.
|
| |
| |
| |
| |
| | |
threading.get_ident() and document it. This function was used by
_thread.get_ident().
|
| |
| |
| |
| | |
twice, it now writes the number of the second signal into the wakeup fd.
|
| |
| |
| |
| | |
I don't think that we still need it.
|
| |
| |
| |
| |
| | |
instead of a nul byte into the wakeup file descriptor. So it is possible to
wait more than one signal and know which signals were raised.
|
| |
| |
| |
| | |
signal module.
|
| |
| |
| |
| | |
Update the doc. Refactor also related tests.
|
| |
| |
| |
| |
| |
| | |
The _tkinter module loads the Tcl library which creates a thread waiting events
in select(). This thread receives signals blocked by all other threads. We
cannot test blocked signals if the _tkinter module is loaded.
|
| |
| |
| |
| | |
The problem is not specific to Mac OS X.
|
| |
| |
| |
| |
| |
| | |
called. The test checks that SIG_UNBLOCK calls immediatly the signal handler of
the pending SIGUSR1. Improve also the tests using an exception (division by
zero) instead of a flag (a function attribute).
|
| |
| |
| |
| |
| | |
Disable faulthandler timeout thread on Mac OS X: it interacts with
pthread_sigmask() tests.
|