SIGN IN SIGN UP

[3.12] gh-105699: Use a Thread-Local Variable for PKGCONTEXT (gh-105740) (gh-105765)

This fixes a race during import. The existing _PyRuntimeState.imports.pkgcontext is shared between interpreters, and occasionally this would cause a crash when multiple interpreters were importing extensions modules at the same time.  To solve this we add a thread-local variable for the value.  We also leave the existing state (and infrequent race) in place for platforms that do not support thread-local variables.
(cherry picked from commit b87d2882754a7c273e2695c33384383eba380d7d)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
M
Miss Islington (bot) committed
bc997b38b66cd61ab2ba9697546c39472cb93ee3
Parent: 26bc2cc
Committed by GitHub <noreply@github.com> on 6/14/2023, 1:34:26 AM