This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2019年05月10日 19:11 by eric.snow, last changed 2022年04月11日 14:59 by admin. This issue is now closed.
| Messages (4) | |||
|---|---|---|---|
| msg342120 - (view) | Author: Eric Snow (eric.snow) * (Python committer) | Date: 2019年05月10日 19:11 | |
We have quite a bit of global state the runtime that effectively breaks the isolation between interpreters. Some of it exists as "global" C variables (see #36876) and the rest as fields on _PyRuntimeState. The offending state should be moved to PyInterpreterState. See Include/internal/pycore_pystate.h for the _PyRuntimeState and PyInterpreterState structs. |
|||
| msg342121 - (view) | Author: Eric Snow (eric.snow) * (Python committer) | Date: 2019年05月10日 19:16 | |
FYI, I've already started some of this work: * #36737 warnings * #36854 gc * #33608 pending calls * #10915 & #15751 gilstate Other bits I'm planning on: * the rest of the global "ceval" state * the memory allocators * the GIL Note that, to make the GIL per-interpreter, we can't have any remaining runtime state shared by interpreters (unless it is protected by its own locks). |
|||
| msg342126 - (view) | Author: Eric Snow (eric.snow) * (Python committer) | Date: 2019年05月10日 20:15 | |
In conjunction with #36876, there are a bunch of currently ignored globals (in Tools/c-globals/ignored-globals.txt) that should actually be moved to per-interpreter runtime state. This mostly applies to any globals that point to one or more objects, since objects must not be shared by interpreters. |
|||
| msg368907 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2020年05月15日 01:31 | |
I mark this issue as a duplicate of bpo-40512. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:59:15 | admin | set | github: 81058 |
| 2020年05月15日 01:31:54 | vstinner | set | status: open -> closed superseder: [subinterpreters] Meta issue: per-interpreter GIL messages: + msg368907 resolution: duplicate stage: resolved |
| 2020年05月15日 00:46:20 | vstinner | set | components:
+ Subinterpreters, - Interpreter Core title: [meta] Move fields from _PyRuntimeState to PyInterpreterState. -> [subinterpreters][meta] Move fields from _PyRuntimeState to PyInterpreterState. |
| 2020年02月07日 15:21:21 | maciej.szulik | set | nosy:
+ maciej.szulik |
| 2019年08月22日 02:49:20 | phsilva | set | nosy:
+ phsilva |
| 2019年05月10日 20:15:42 | eric.snow | set | messages: + msg342126 |
| 2019年05月10日 19:16:48 | eric.snow | set | messages: + msg342121 |
| 2019年05月10日 19:11:57 | eric.snow | create | |