mirror of
https://github.com/python/cpython
synced 2024-09-19 20:51:48 +00:00
Issue #18774: Remove last bits of GNU PTH thread code, patch by Vajrasky Kok.
This commit is contained in:
parent
17dd53b464
commit
44ed3de6f4
|
@ -10,6 +10,8 @@ Projected Release date: 2013-09-08
|
||||||
Core and Builtins
|
Core and Builtins
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
- Issue #18774: Remove last bits of GNU PTH thread code and thread_pth.h.
|
||||||
|
|
||||||
- Issue #16105: When a signal handler fails to write to the file descriptor
|
- Issue #16105: When a signal handler fails to write to the file descriptor
|
||||||
registered with ``signal.set_wakeup_fd()``, report an exception instead
|
registered with ``signal.set_wakeup_fd()``, report an exception instead
|
||||||
of ignoring the error.
|
of ignoring the error.
|
||||||
|
|
|
@ -73,10 +73,6 @@
|
||||||
a working implementation that works in all three cases -- the
|
a working implementation that works in all three cases -- the
|
||||||
handler ignores signals if getpid() isn't the same as in the main
|
handler ignores signals if getpid() isn't the same as in the main
|
||||||
thread. XXX This is a hack.
|
thread. XXX This is a hack.
|
||||||
|
|
||||||
GNU pth is a user-space threading library, and as such, all threads
|
|
||||||
run within the same process. In this case, if the currently running
|
|
||||||
thread is not the main_thread, send the signal to the main_thread.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef WITH_THREAD
|
#ifdef WITH_THREAD
|
||||||
|
@ -214,13 +210,6 @@ signal_handler(int sig_num)
|
||||||
{
|
{
|
||||||
int save_errno = errno;
|
int save_errno = errno;
|
||||||
|
|
||||||
#if defined(WITH_THREAD) && defined(WITH_PTH)
|
|
||||||
if (PyThread_get_thread_ident() != main_thread) {
|
|
||||||
pth_raise(*(pth_t *) main_thread, sig_num);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
#ifdef WITH_THREAD
|
#ifdef WITH_THREAD
|
||||||
/* See NOTES section above */
|
/* See NOTES section above */
|
||||||
if (getpid() == main_pid)
|
if (getpid() == main_pid)
|
||||||
|
@ -242,7 +231,6 @@ signal_handler(int sig_num)
|
||||||
* makes this true. See also issue8354. */
|
* makes this true. See also issue8354. */
|
||||||
PyOS_setsig(sig_num, signal_handler);
|
PyOS_setsig(sig_num, signal_handler);
|
||||||
#endif
|
#endif
|
||||||
}
|
|
||||||
|
|
||||||
/* Issue #10311: asynchronously executing signal handlers should not
|
/* Issue #10311: asynchronously executing signal handlers should not
|
||||||
mutate errno under the feet of unsuspecting C code. */
|
mutate errno under the feet of unsuspecting C code. */
|
||||||
|
|
Loading…
Reference in a new issue