Closed
Description
Feature or enhancement
We should make functools.lru_cache
thread-safe in the --disable-gil
builds.
For context, here is the commit from the nogil-3.12
fork: colesbury/nogil-3.12@041a08e339
NOTES (differences in 3.13 from nogil-3.12
):
- No need for an extra mutex in
lru_cache_object
; every PyObject has a mutex in the--disable-gil
builds - For
_functools__lru_cache_wrapper_cache_info_impl
and_functools__lru_cache_wrapper_cache_clear_impl
we should instead use the@critical_section
Arugment Clinic directive. This will be simpler and require fewer changes to the code.lru_cache_call
still needs explicit calls to the critical section API.