mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
bpo-36728: Remove PyEval_ReInitThreads() from C API (GH-13241)
Remove the PyEval_ReInitThreads() function from the Python C API. It should not be called explicitly: use PyOS_AfterFork_Child() instead. Rename PyEval_ReInitThreads() to _PyEval_ReInitThreads() and add a 'runtime' parameter.
This commit is contained in:
parent
3aef48e315
commit
d5d9e81ce9
6 changed files with 25 additions and 7 deletions
|
@ -25,14 +25,25 @@
|
|||
#define PY_SSIZE_T_CLEAN
|
||||
|
||||
#include "Python.h"
|
||||
#ifdef MS_WINDOWS
|
||||
/* include <windows.h> early to avoid conflict with pycore_condvar.h:
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
|
||||
FSCTL_GET_REPARSE_POINT is not exported with WIN32_LEAN_AND_MEAN. */
|
||||
# include <windows.h>
|
||||
#endif
|
||||
|
||||
#include "pycore_ceval.h" /* _PyEval_ReInitThreads() */
|
||||
#include "pycore_pystate.h" /* _PyRuntime */
|
||||
#include "pythread.h"
|
||||
#include "structmember.h"
|
||||
#ifndef MS_WINDOWS
|
||||
#include "posixmodule.h"
|
||||
# include "posixmodule.h"
|
||||
#else
|
||||
#include "winreparse.h"
|
||||
# include "winreparse.h"
|
||||
#endif
|
||||
#include "pycore_pystate.h"
|
||||
|
||||
/* On android API level 21, 'AT_EACCESS' is not declared although
|
||||
* HAVE_FACCESSAT is defined. */
|
||||
|
@ -424,7 +435,7 @@ PyOS_AfterFork_Child(void)
|
|||
_PyRuntimeState *runtime = &_PyRuntime;
|
||||
_PyGILState_Reinit(runtime);
|
||||
_PyInterpreterState_DeleteExceptMain(runtime);
|
||||
PyEval_ReInitThreads();
|
||||
_PyEval_ReInitThreads(runtime);
|
||||
_PyImport_ReInitLock();
|
||||
_PySignal_AfterFork();
|
||||
_PyRuntimeState_ReInitThreads(runtime);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue