Free-threaded Python support
szalpal opened this issue · comments
Hi,
Recently PEP 703 has been approved, which removes the GIL in Python. The timeline of the change is far, however I'd like to ask, is there a particular plan of fastrlock
working without the GIL?
I'm particularly asking, since from the How does it work section I understand that fastrlock
is inherently coupled with GIL.
Ideally fastrlock
API might stay unchanged, so that any project using fastrlock
does not require code changes.
In nogil CPython (which has already landed in CPython 3.13), you can probably just use threading.RLock
instead – unless you're asking about fastrlock's C-API.
The change that CPython needed seems to be this:
python/cpython@f366e21
It uses atomics, which seems reasonable.
The same can probably be implemented for fastrlock
. PR welcome.