]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-149504: Fix re-entrancy bug when .pth/.start file invokes site.addsitedir() (...
authorBarry Warsaw <barry@python.org>
Wed, 13 May 2026 16:45:25 +0000 (09:45 -0700)
committerGitHub <noreply@github.com>
Wed, 13 May 2026 16:45:25 +0000 (16:45 +0000)
commitb162307d7f216e87976d76c9b8f4a932961cb2d4
treecb234c53bd42457cda968ebf45185e373b4e5797
parentfa81cd976ad88e022839a37501d75d8716e22e3b
gh-149504: Fix re-entrancy bug when .pth/.start file invokes site.addsitedir() (#149659)

* Add re-entrant tests for gh-149504
* Add end-to-end integration test coverage

This ensures that future whitebox internal test changes do not regress the
public surface semantics.

* Implement a state class to process .pth and .start files

By using this state class and managing implicit and explicit batching, we make it structurally
impossible to get bitten by re-entrant site startup processing.

Fixes #149504
Lib/site.py
Lib/test/test_site.py
Misc/NEWS.d/next/Library/2026-05-10-23-51-23.gh-issue-149504.pDSCbn.rst [new file with mode: 0644]