fastrlock icon indicating copy to clipboard operation
fastrlock copied to clipboard

Free-threaded Python support

Open szalpal opened this issue 10 months ago • 1 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.

szalpal avatar Apr 24 '24 14:04 szalpal

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: https://github.com/python/cpython/commit/f366e215044e348659df814c27bf70e78907df21 It uses atomics, which seems reasonable.

The same can probably be implemented for fastrlock. PR welcome.

scoder avatar Apr 24 '24 16:04 scoder