Make random.Random
thread-safe in --disable-gil
builds
#112071
Labels
3.13
bugs and security fixes
extension-modules
C modules in the Modules dir
topic-free-threading
type-feature
A feature request or enhancement
Uh oh!
There was an error while loading. Please reload this page.
Feature or enhancement
random.Random
has mutable internal state. We should use the critical section API to make it thread-safe in--disable-gil
builds.For context, here is the change from the
nogil-3.12
fork. colesbury/nogil-3.12@9bf62ffc4b. Note that we want to do things a bit differently in CPython 3.13:_PyMutex mutex
inRandomObject
@critical_section
directive as the first line.nogil-3.12
, we want to push the locking "up" to the around the methods. (See the above note 2).Linked PRs
_random.Random
methods thread-safe in--disable-gil
builds #112128The text was updated successfully, but these errors were encountered: