New submission from STINNER Victor <vstin...@python.org>:
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 <rep...@bugs.python.org> <https://bugs.python.org/issue40513> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com