summaryrefslogtreecommitdiffstats
path: root/Include/py_curses.h
diff options
context:
space:
mode:
authorEric Snow <ericsnowcurrently@gmail.com>2024-05-04 21:24:02 (GMT)
committerGitHub <noreply@github.com>2024-05-04 21:24:02 (GMT)
commit291cfa454b9c5b677c955aaf53fab91f0186b6fa (patch)
tree0a0976010c9f0bd5fb77f80e00f44fa726d7c665 /Include/py_curses.h
parent978fba58aef347de4a1376e525df2dacc7b2fff3 (diff)
downloadcpython-291cfa454b9c5b677c955aaf53fab91f0186b6fa.zip
cpython-291cfa454b9c5b677c955aaf53fab91f0186b6fa.tar.gz
cpython-291cfa454b9c5b677c955aaf53fab91f0186b6fa.tar.bz2
gh-117953: Track Extra Details in Global Extensions Cache (gh-118532)
We have only been tracking each module's PyModuleDef. However, there are some problems with that. For example, in some cases we load single-phase init extension modules from def->m_base.m_init or def->m_base.m_copy, but if multiple modules share a def then we can end up with unexpected behavior. With this change, we track the following: * PyModuleDef (same as before) * for some modules, its init function or a copy of its __dict__, but specific to that module * whether it is a builtin/core module or a "dynamic" extension * the interpreter (ID) that owns the cached __dict__ (only if cached) This also makes it easier to remember the module's kind (e.g. single-phase init) and if loading it previously failed, which I'm doing separately.
Diffstat (limited to 'Include/py_curses.h')
0 files changed, 0 insertions, 0 deletions