mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
bpo-33608: Factor out a private, per-interpreter _Py_AddPendingCall(). (GH-11617)
This involves moving the global "pending calls" state to PyInterpreterState. https://bugs.python.org/issue33608
This commit is contained in:
parent
463572c8be
commit
ef4ac967e2
10 changed files with 201 additions and 121 deletions
|
@ -19,6 +19,7 @@
|
|||
#include <process.h>
|
||||
#endif
|
||||
#endif
|
||||
#include "internal/pycore_pystate.h"
|
||||
|
||||
#ifdef HAVE_SIGNAL_H
|
||||
#include <signal.h>
|
||||
|
@ -295,8 +296,10 @@ trip_signal(int sig_num)
|
|||
{
|
||||
/* Py_AddPendingCall() isn't signal-safe, but we
|
||||
still use it for this exceptional case. */
|
||||
Py_AddPendingCall(report_wakeup_send_error,
|
||||
(void *)(intptr_t) last_error);
|
||||
_Py_AddPendingCall(_PyRuntime.interpreters.main,
|
||||
main_thread,
|
||||
report_wakeup_send_error,
|
||||
(void *)(intptr_t) last_error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -313,8 +316,10 @@ trip_signal(int sig_num)
|
|||
{
|
||||
/* Py_AddPendingCall() isn't signal-safe, but we
|
||||
still use it for this exceptional case. */
|
||||
Py_AddPendingCall(report_wakeup_write_error,
|
||||
(void *)(intptr_t)errno);
|
||||
_Py_AddPendingCall(_PyRuntime.interpreters.main,
|
||||
main_thread,
|
||||
report_wakeup_write_error,
|
||||
(void *)(intptr_t)errno);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue