cpython/Modules/Setup.bootstrap.in
Peter Bierma a10960699a
gh-136421: Load _datetime static types during interpreter initialization (GH-136583)
`_datetime` is a special module, because it's the only non-builtin C extension that contains static types. As such, it would initialize static types in the module's execution function, which can run concurrently. Since static type initialization is not thread-safe, this caused crashes. This fixes it by moving the initialization of `_datetime`'s static types to interpreter startup (where all other static types are initialized), which is already properly protected through other locks.
2025-07-21 13:47:26 -04:00

42 lines
1.1 KiB
Makefile

# -*- makefile -*-
# ---
# Built-in modules required to get a functioning interpreter;
# cannot be built as shared!
*static*
# module C APIs are used in core
atexit atexitmodule.c
faulthandler faulthandler.c
posix posixmodule.c
_signal signalmodule.c
_tracemalloc _tracemalloc.c
_suggestions _suggestions.c
# needs libm and on some platforms librt
_datetime _datetimemodule.c
# modules used by importlib, deepfreeze, freeze, runpy, and sysconfig
_codecs _codecsmodule.c
_collections _collectionsmodule.c
errno errnomodule.c
_io _io/_iomodule.c _io/iobase.c _io/fileio.c _io/bytesio.c _io/bufferedio.c _io/textio.c _io/stringio.c
itertools itertoolsmodule.c
_sre _sre/sre.c
_sysconfig _sysconfig.c
_thread _threadmodule.c
time timemodule.c
_types _typesmodule.c
_typing _typingmodule.c
_weakref _weakref.c
# commonly used core modules
_abc _abc.c
_functools _functoolsmodule.c
_locale _localemodule.c
_opcode _opcode.c
_operator _operator.c
_stat _stat.c
_symtable symtablemodule.c
# for systems without $HOME env, used by site._getuserbase()
@MODULE_PWD_TRUE@pwd pwdmodule.c