]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-115103: Implement delayed memory reclamation (QSBR) (#115180)
authorSam Gross <colesbury@gmail.com>
Fri, 16 Feb 2024 20:25:19 +0000 (15:25 -0500)
committerGitHub <noreply@github.com>
Fri, 16 Feb 2024 20:25:19 +0000 (15:25 -0500)
commit590319072773bd6cdcca655c420d3adb84838e96
treeb2e7ec5cb49ef21d0fe9f35b9f32d69e8578fb86
parent711f42de2e3749208cfa7effa0d45b04e4e1fdd4
gh-115103: Implement delayed memory reclamation (QSBR) (#115180)

This adds a safe memory reclamation scheme based on FreeBSD's "GUS" and
quiescent state based reclamation (QSBR). The API provides a mechanism
for callers to detect when it is safe to free memory that may be
concurrently accessed by readers.
18 files changed:
Doc/license.rst
Include/cpython/pyatomic.h
Include/cpython/pyatomic_gcc.h
Include/cpython/pyatomic_msc.h
Include/cpython/pyatomic_std.h
Include/internal/pycore_interp.h
Include/internal/pycore_qsbr.h [new file with mode: 0644]
Include/internal/pycore_runtime_init.h
Include/internal/pycore_tstate.h
Makefile.pre.in
Modules/posixmodule.c
PCbuild/_freeze_module.vcxproj
PCbuild/_freeze_module.vcxproj.filters
PCbuild/pythoncore.vcxproj
PCbuild/pythoncore.vcxproj.filters
Python/ceval_macros.h
Python/pystate.c
Python/qsbr.c [new file with mode: 0644]