New submission from STINNER Victor <[email protected]>:
To get one GIL per interpreter (bpo-40512), remaining _PyRuntimeState.ceval
members should be moved to PyInterpreterState.ceval. The work started in
bpo-39984 with ceval "pending calls" and ceval "eval breaker".
There are 4 remaining fields:
struct _ceval_runtime_state {
int recursion_limit;
/* Request for dropping the GIL */
_Py_atomic_int gil_drop_request;
/* Request for checking signals. */
_Py_atomic_int signals_pending;
struct _gil_runtime_state gil;
};
The most complex part will be to move the "gil" member: bpo-40512 lists all
sub-tasks which must be completed before being able to have one GIL per
interpreter without crashing.
----------
components: Interpreter Core
messages: 368137
nosy: vstinner
priority: normal
severity: normal
status: open
title: Move _PyRuntimeState.ceval to PyInterpreterState
versions: Python 3.9
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue40513>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com