mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
bpo-41713: Remove PyOS_InitInterrupts() function (GH-23342)
Remove the undocumented PyOS_InitInterrupts() C function. * Rename PyOS_InitInterrupts() to _PySignal_Init(). It now installs other signal handlers, not only SIGINT. * Rename PyOS_FiniInterrupts() to _PySignal_Fini()
This commit is contained in:
parent
975022b77b
commit
296a796951
6 changed files with 38 additions and 40 deletions
|
@ -54,7 +54,6 @@ static PyStatus add_main_module(PyInterpreterState *interp);
|
|||
static PyStatus init_import_site(void);
|
||||
static PyStatus init_set_builtins_open(void);
|
||||
static PyStatus init_sys_streams(PyThreadState *tstate);
|
||||
static PyStatus init_signals(PyThreadState *tstate);
|
||||
static void call_py_exitfuncs(PyThreadState *tstate);
|
||||
static void wait_for_thread_shutdown(PyThreadState *tstate);
|
||||
static void call_ll_exitfuncs(_PyRuntimeState *runtime);
|
||||
|
@ -1047,11 +1046,8 @@ init_interp_main(PyThreadState *tstate)
|
|||
}
|
||||
|
||||
if (is_main_interp) {
|
||||
if (config->install_signal_handlers) {
|
||||
status = init_signals(tstate);
|
||||
if (_PyStatus_EXCEPTION(status)) {
|
||||
return status;
|
||||
}
|
||||
if (_PySignal_Init(config->install_signal_handlers) < 0) {
|
||||
return _PyStatus_ERR("can't initialize signals");
|
||||
}
|
||||
|
||||
if (_PyTraceMalloc_Init(config->tracemalloc) < 0) {
|
||||
|
@ -1702,7 +1698,7 @@ Py_FinalizeEx(void)
|
|||
}
|
||||
|
||||
/* Disable signal handling */
|
||||
PyOS_FiniInterrupts();
|
||||
_PySignal_Fini();
|
||||
|
||||
/* Collect garbage. This may call finalizers; it's nice to call these
|
||||
* before all modules are destroyed.
|
||||
|
@ -2730,25 +2726,6 @@ Py_Exit(int sts)
|
|||
exit(sts);
|
||||
}
|
||||
|
||||
static PyStatus
|
||||
init_signals(PyThreadState *tstate)
|
||||
{
|
||||
#ifdef SIGPIPE
|
||||
PyOS_setsig(SIGPIPE, SIG_IGN);
|
||||
#endif
|
||||
#ifdef SIGXFZ
|
||||
PyOS_setsig(SIGXFZ, SIG_IGN);
|
||||
#endif
|
||||
#ifdef SIGXFSZ
|
||||
PyOS_setsig(SIGXFSZ, SIG_IGN);
|
||||
#endif
|
||||
PyOS_InitInterrupts(); /* May imply init_signals() */
|
||||
if (_PyErr_Occurred(tstate)) {
|
||||
return _PyStatus_ERR("can't import signal");
|
||||
}
|
||||
return _PyStatus_OK();
|
||||
}
|
||||
|
||||
|
||||
/* Restore signals that the interpreter has called SIG_IGN on to SIG_DFL.
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue