scoder / fastrlock

A fast RLock implementation for CPython

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.