cpython/Modules
Neil Schemenauer 350c58ba4e
GH-135552: Make the GC clear weakrefs later (GH-136189)
Fix a bug caused by the garbage collector clearing weakrefs too early.  The
weakrefs in the ``tp_subclasses`` dictionary are needed in order to correctly
invalidate type caches (for example, by calling ``PyType_Modified()``).
Clearing weakrefs before calling finalizers causes the caches to not be
correctly invalidated.  That can cause crashes since the caches can refer to
invalid objects.  Defer the clearing of weakrefs without callbacks until after
finalizers are executed.
2025-08-07 16:32:17 -07:00
..
_ctypes gh-137514: Add a free-threading wrapper for mutexes (GH-137515) 2025-08-07 11:24:50 -04:00
_decimal gh-53032: support IEEE 754 contexts in the decimal module (#122003) 2025-04-28 15:05:56 +02:00
_hacl gh-135532: update Modules/_hacl/python_hacl_namespaces.h (#135741) 2025-06-20 11:32:38 +02:00
_io gh-132551: add missing critical sections on BytesIO methods (#137073) 2025-07-24 11:57:48 +00:00
_multiprocessing
_sqlite gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) 2025-06-30 11:14:31 +00:00
_sre gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) 2025-06-30 11:14:31 +00:00
_ssl gh-134698: Hold a lock when the thread state is detached in ssl (GH-134724) 2025-07-25 08:16:05 -07:00
_testcapi gh-136300: Modify C tests to conform to PEP-737 (GH-136301) 2025-07-11 15:18:35 +02:00
_testinternalcapi gh-135641: Fix flaky test_capi.test_lock_two_threads test case (gh-135642) 2025-06-18 14:24:05 -04:00
_testlimitedcapi gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035) 2025-05-28 20:11:09 +03:00
_xxtestfuzz
_zstd gh-132983: Use `Py_UNREACHABLE in _zstd_load_impl()` (#137320) 2025-08-04 02:36:12 +01:00
cjkcodecs
clinic gh-137044: Support large limit values in getrlimit() and setrlimit() (GH-137338) 2025-08-07 11:06:37 +03:00
expat
_abc.c
_asynciomodule.c Doc: More duplicate word fixes (GH-136299) 2025-07-11 21:18:47 +03:00
_bisectmodule.c
_bz2module.c
_codecsmodule.c
_collectionsmodule.c gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) 2025-06-30 11:14:31 +00:00
_csv.c gh-132813: Improve error messages for incorrect types and values of csv.Dialog attributes (GH-133241) 2025-06-02 23:35:41 +03:00
_curses_panel.c gh-133579: correctly report C curses errors in _curses_panel (#134629) 2025-06-08 09:10:52 +02:00
_cursesmodule.c gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035) 2025-05-28 20:11:09 +03:00
_datetimemodule.c GH-135552: Make the GC clear weakrefs later (GH-136189) 2025-08-07 16:32:17 -07:00
_dbmmodule.c gh-127081: add critical sections to dbm objects (gh-132749) 2025-05-14 13:49:35 -04:00
_elementtree.c gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) 2025-06-30 11:14:31 +00:00
_functoolsmodule.c gh-119109: improve functools.partial vectorcall with keywords (#124584) 2025-07-09 12:55:45 +05:30
_gdbmmodule.c gh-66234: Add flag to disable the use of mmap in dbm.gnu (GH-135005) 2025-06-02 21:08:26 +03:00
_hashopenssl.c gh-131876: Revert "gh-131876: extract _hashlib helpers into a separate directory (#136995) (#137307) 2025-08-01 10:45:40 -07:00
_heapqmodule.c Fix comments for heapq.siftup_max (#135359) 2025-07-03 15:21:41 +05:30
_interpchannelsmodule.c gh-135839: Fix module_traverse and module_clear in _interpchannelsmodule (#135840) 2025-06-25 11:54:42 +03:00
_interpqueuesmodule.c gh-135839: Fix module_traverse and module_clear in subinterp modules (#135937) 2025-06-25 14:17:02 +00:00
_interpreters_common.h gh-132775: Use _PyObject_GetXIData (With Fallback) (gh-134440) 2025-05-22 06:50:06 -06:00
_interpretersmodule.c Revert "gh-112068: C API: Add support of nullable arguments in PyArg_Parse (GH-121303)" (#136991) 2025-07-22 16:39:50 +03:00
_json.c gh-135336: Add fast path to json string encoding (#133239) 2025-08-07 15:21:56 +00:00
_localemodule.c gh-137273: Fix debug assertion failure in locale.setlocale() on Windows (GH-137300) 2025-08-01 17:43:53 +03:00
_lsprof.c gh-135429: Fix the argument mismatch in lsprof throw event (#135442) 2025-06-12 14:46:47 -07:00
_lzmamodule.c gh-133583: Add support for fixed size unsigned integers in argument parsing (GH-133584) 2025-05-08 12:27:50 +03:00
_math.h
_opcode.c gh-135755: Move SPECIAL_ constants to a private header (GH-135922) 2025-06-25 13:03:05 +02:00
_operator.c
_pickle.c gh-135321: Always raise a correct exception for BINSTRING argument > 0x7fffffff in pickle (GH-135322) 2025-06-11 10:15:12 +00:00
_posixsubprocess.c GH-115322: Add missing audit hooks (GH-115624) 2025-04-13 21:46:20 +00:00
_queuemodule.c gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) 2025-06-30 11:14:31 +00:00
_randommodule.c gh-133489: Remove size restrictions on getrandbits() and randbytes() (GH-133658) 2025-05-31 11:23:01 +03:00
_remote_debugging_module.c gh-136669: build _asyncio as static module (#136670) 2025-07-16 22:09:08 +05:30
_scproxy.c
_ssl.c gh-136306: Add support for getting and setting SSL groups (#136307) 2025-07-28 19:33:31 +02:00
_ssl.h
_ssl_data_34.h gh-131423: Update OpenSSL data to 3.4.1 on Linux (#131618) 2025-04-25 10:26:58 +02:00
_ssl_data_111.h gh-131423: Update OpenSSL data to 3.4.1 on Linux (#131618) 2025-04-25 10:26:58 +02:00
_ssl_data_300.h
_ssl_data_340.h gh-131423: Update OpenSSL data to 3.4.1 on Linux (#131618) 2025-04-25 10:26:58 +02:00
_stat.c gh-108765: fix comment about macro definitions in _stat.c post GH-108854 (#136027) 2025-06-27 15:15:11 +00:00
_statisticsmodule.c
_struct.c gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) 2025-06-30 11:14:31 +00:00
_suggestions.c
_sysconfig.c gh-127405: Add ABIFLAGS to sysconfig variables on Windows (GH-131799) 2025-04-11 16:19:03 +01:00
_testbuffer.c gh-136300: Modify C tests to conform to PEP-737 (GH-136301) 2025-07-11 15:18:35 +02:00
_testcapi_feature_macros.inc
_testcapimodule.c gh-133296: Publicly expose critical section API that accepts PyMutex (gh-135899) 2025-07-21 17:25:43 -04:00
_testclinic.c Exclude _testclinic_depr.c.h from c-analyzer (GH-137086) 2025-07-24 15:50:01 -05:00
_testclinic_limited.c
_testimportmultiple.c
_testinternalcapi.c gh-124621: Emscripten: Add support for async input devices (GH-136822) 2025-07-19 17:14:29 +02:00
_testlimitedcapi.c
_testmultiphase.c
_testsinglephase.c
_threadmodule.c Revert "gh-112068: C API: Add support of nullable arguments in PyArg_Parse (GH-121303)" (#136991) 2025-07-22 16:39:50 +03:00
_tkinter.c gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035) 2025-05-28 20:11:09 +03:00
_tracemalloc.c
_typesmodule.c gh-136492: Add FrameLocalsProxyType to types (GH-136546) 2025-07-20 20:49:00 +02:00
_typingmodule.c
_uuidmodule.c gh-132710: only use stable _uuid.generate_time_safe() to deduce MAC address (#132901) 2025-05-26 10:56:31 +02:00
_weakref.c
_winapi.c gh-133711: Log Windows OEM code page in test.pythoninfo (#134840) 2025-05-28 17:41:11 +02:00
_zoneinfo.c gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) 2025-06-30 11:14:31 +00:00
addrinfo.h
arraymodule.c gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) 2025-06-30 11:14:31 +00:00
atexitmodule.c
binascii.c
blake2module.c gh-131876: Revert "gh-131876: extract _hashlib helpers into a separate directory (#136995) (#137307) 2025-08-01 10:45:40 -07:00
cmathmodule.c
config.c.in gh-128384: Use a context variable for warnings.catch_warnings (gh-130010) 2025-04-09 16:18:54 -07:00
errnomodule.c
faulthandler.c gh-137185: Fix _Py_DumpStack() async signal safety (gh-137187) 2025-07-29 14:25:32 +00:00
fcntlmodule.c gh-132629: Deprecate accepting out-of-range values for unsigned integers in PyArg_Parse (GH-132630) 2025-07-13 12:44:54 +03:00
gc_weakref.txt GH-135552: Make the GC clear weakrefs later (GH-136189) 2025-08-07 16:32:17 -07:00
gcmodule.c
getaddrinfo.c
getbuildinfo.c
getnameinfo.c
getpath.c GH-131296: Avoid invalid signed char comparison in getpath.c assertion (GH-131594) 2025-04-22 14:06:30 +01:00
getpath.py gh-135773: have pyvenv.cfg without home key anchor a venv and deduce home (#135831) 2025-07-04 23:44:37 +10:00
getpath_noop.c
grpmodule.c gh-116738: Make grp module thread-safe (#135434) 2025-07-14 11:18:41 -07:00
hashlib.h gh-131876: Revert "gh-131876: extract _hashlib helpers into a separate directory (#136995) (#137307) 2025-08-01 10:45:40 -07:00
hmacmodule.c gh-131876: Revert "gh-131876: extract _hashlib helpers into a separate directory (#136995) (#137307) 2025-08-01 10:45:40 -07:00
itertoolsmodule.c gh-123471: Make itertools.product and itertools.combinations thread-safe (#132814) 2025-06-30 11:31:59 +00:00
ld_so_aix.in
main.c gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035) 2025-05-28 20:11:09 +03:00
makesetup gh-131298: eliminate HACL* static libraries for cryptographic modules (GH-132438) 2025-04-20 17:40:17 +00:00
makexp_aix
mathmodule.c gh-135853: add math.fmax and math.fmin (#135888) 2025-07-12 11:31:10 +00:00
md5module.c gh-131876: Revert "gh-131876: extract _hashlib helpers into a separate directory (#136995) (#137307) 2025-08-01 10:45:40 -07:00
mmapmodule.c Revert "gh-112068: C API: Add support of nullable arguments in PyArg_Parse (GH-121303)" (#136991) 2025-07-22 16:39:50 +03:00
overlapped.c GH-131296: Remove unused variable from overlapped.c (GH-131590) 2025-04-16 22:44:57 +01:00
posixmodule.c gh-136437: Make several functions in os.path pos-only (#136949) 2025-07-23 14:56:02 +03:00
posixmodule.h
pwdmodule.c gh-116738: Make pwd module thread-safe (#136695) 2025-07-17 09:16:01 -07:00
pyexpat.c gh-133157: remove usage of _Py_NO_SANITIZE_UNDEFINED in pyexpat (#135346) 2025-07-01 10:54:08 +02:00
readline.c GH-115322: Add missing audit hooks (GH-115624) 2025-04-13 21:46:20 +00:00
README
resource.c gh-137044: Support large limit values in getrlimit() and setrlimit() (GH-137338) 2025-08-07 11:06:37 +03:00
rotatingtree.c
rotatingtree.h
selectmodule.c gh-132987: Support __index__() in the select.kqueue_event constructor (GH-133094) 2025-04-29 13:55:14 +00:00
Setup GH-132983: Build `_zstd` on Windows (#133366) 2025-05-06 00:58:47 +01:00
Setup.bootstrap.in gh-136421: Load _datetime static types during interpreter initialization (GH-136583) 2025-07-21 13:47:26 -04:00
Setup.stdlib.in gh-136421: Load _datetime static types during interpreter initialization (GH-136583) 2025-07-21 13:47:26 -04:00
sha1module.c gh-131876: Revert "gh-131876: extract _hashlib helpers into a separate directory (#136995) (#137307) 2025-08-01 10:45:40 -07:00
sha2module.c gh-131876: Revert "gh-131876: extract _hashlib helpers into a separate directory (#136995) (#137307) 2025-08-01 10:45:40 -07:00
sha3module.c gh-131876: Revert "gh-131876: extract _hashlib helpers into a separate directory (#136995) (#137307) 2025-08-01 10:45:40 -07:00
signalmodule.c gh-126662: naming consistency for signal.ItimerError (#126712) 2025-07-26 22:14:12 +05:30
socketmodule.c gh-107545: Fix misleading setsockopt() error messages (GH-107546) 2025-08-05 10:16:14 +00:00
socketmodule.h GH-131296: Fixes clang-cl warning on Windows in socketmodule.h (GH-131832) 2025-07-28 17:52:07 +01:00
symtablemodule.c
syslogmodule.c gh-116738: Make syslog module thread-safe (#136760) 2025-07-21 09:24:42 -07:00
termios.c
timemodule.c gh-134771: Fix time_clockid_converter() on Cygwin (#134772) 2025-05-29 19:35:53 +02:00
tkappinit.c
tkinter.h
unicodedata.c
unicodedata_db.h
unicodename_db.h
winreparse.h
xxlimited.c gh-134160: Use PyModuleDef.m_free in the example module xxlimited (GH-135174) 2025-06-06 14:08:58 +00:00
xxlimited_35.c
xxmodule.c
xxsubtype.c
zlibmodule.c gh-134635: add zlib.{adler32,crc32}_combine to combine checksums (#134650) 2025-05-27 10:48:34 +02:00

Source files for standard library extension modules,
and former extension modules that are now builtin modules.