cpython/Include/internal
Victor Stinner 50e6e99178
bpo-39984: Move pending calls to PyInterpreterState (GH-19066)
If Py_AddPendingCall() is called in a subinterpreter, the function is
now scheduled to be called from the subinterpreter, rather than being
called from the main interpreter.

Each subinterpreter now has its own list of scheduled calls.

* Move pending and eval_breaker fields from _PyRuntimeState.ceval
  to PyInterpreterState.ceval.
* new_interpreter() now calls _PyEval_InitThreads() to create
  pending calls lock.
* Fix Py_AddPendingCall() for subinterpreters. It now calls
  _PyThreadState_GET() which works in a subinterpreter if the
  caller holds the GIL, and only falls back on
  PyGILState_GetThisThreadState() if _PyThreadState_GET()
  returns NULL.
2020-03-19 02:41:21 +01:00
..
pycore_accu.h bpo-36635: Change pyport.h for Py_BUILD_CORE_MODULE define (GH-12853) 2019-04-17 23:02:26 +02:00
pycore_atomic.h bpo-38353: Cleanup includes in the internal C API (GH-16548) 2019-10-02 23:51:20 +02:00
pycore_bytes_methods.h bpo-35081: Move bytes_methods.h to the internal C API (GH-18492) 2020-02-12 22:32:34 +01:00
pycore_call.h bpo-38644: Add _PyObject_Call() (GH-17089) 2019-11-14 13:36:21 +01:00
pycore_ceval.h bpo-39984: trip_signal() uses PyGILState_GetThisThreadState() (GH-19061) 2020-03-18 19:28:53 +01:00
pycore_code.h bpo-26219: per opcode cache for LOAD_GLOBAL (GH-12884) 2019-06-03 21:30:58 +09:00
pycore_condvar.h bpo-36635: Change pyport.h for Py_BUILD_CORE_MODULE define (GH-12853) 2019-04-17 23:02:26 +02:00
pycore_context.h bpo-38353: Cleanup includes in the internal C API (GH-16548) 2019-10-02 23:51:20 +02:00
pycore_dtoa.h bpo-35081: Move dtoa.h header to the internal C API (GH-18489) 2020-02-12 22:54:42 +01:00
pycore_fileutils.h bpo-36301: Error if decoding pybuilddir.txt fails (GH-12422) 2019-03-19 01:46:25 +01:00
pycore_getopt.h bpo-36763: Cleanup precmdline in _PyCoreConfig_Read() (GH-13371) 2019-05-17 03:15:12 +02:00
pycore_gil.h bpo-38353: Cleanup includes in the internal C API (GH-16548) 2019-10-02 23:51:20 +02:00
pycore_hamt.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
pycore_import.h bpo-36710: Remove PyImport_Cleanup() function (GH-14221) 2019-06-19 10:36:10 +02:00
pycore_initconfig.h bpo-38353: Fix compiler warning in pycore_initconfig.h (GH-16570) 2019-10-04 00:43:10 +02:00
pycore_object.h bpo-39542: Declare _Py_AddToAllObjects() in pycore_object.h (GH-18368) 2020-02-05 18:24:33 +01:00
pycore_pathconfig.h bpo-39372: Clean header files of declared interfaces with no implementations (GH-18037) 2020-01-18 03:14:59 +00:00
pycore_pyerrors.h bpo-38733: PyErr_Occurred() caller must hold the GIL (GH-17080) 2019-11-07 12:42:07 +01:00
pycore_pyhash.h bpo-36635: Change pyport.h for Py_BUILD_CORE_MODULE define (GH-12853) 2019-04-17 23:02:26 +02:00
pycore_pylifecycle.h bpo-39984: _PyThreadState_DeleteCurrent() takes tstate (GH-19051) 2020-03-18 02:26:04 +01:00
pycore_pymem.h bpo-39542: Make _Py_NewReference() opaque in C API (GH-18346) 2020-02-05 01:11:10 +01:00
pycore_pystate.h bpo-39984: Move pending calls to PyInterpreterState (GH-19066) 2020-03-19 02:41:21 +01:00
pycore_traceback.h bpo-38353: Fix compiler warning in internal headers (GH-16573) 2019-10-04 02:21:05 +02:00
pycore_tupleobject.h bpo-38353: Cleanup includes in the internal C API (GH-16548) 2019-10-02 23:51:20 +02:00
pycore_warnings.h bpo-39796: Fix _warnings module initialization (GH-18739) 2020-03-02 15:02:18 +01:00