Expand description
Interaction with Pythonβs global interpreter lock
Structs§
- LockGIL π
- Used to lock safe access to the GIL
- Reference
Pool πNon- pyo3_disable_reference_pool
- Thread-safe storage for objects which were dec_ref while the GIL was not held.
- SuspendGIL π
- A guard which can be used to temporarily release the GIL and restore on
Drop
.
Enums§
- GILGuard π
- RAII type that represents the Global Interpreter Lock acquisition.
Constants§
- GIL_
COUNT π - This is an internal counter in pyo3 monitoring whether this thread has the GIL.
- GIL_
LOCKED_ πDURING_ TRAVERSE
Statics§
Functions§
- decrement_
gil_ πcount - Decrements pyo3βs internal GIL count - to be called whenever GILPool or GILGuard is dropped.
- gil_
is_ πacquired - Checks whether the GIL is acquired.
- increment_
gil_ πcount - Increments pyo3βs internal GIL count - to be called whenever GILPool or GILGuard is created.
- prepare_
freethreaded_ python Neither PyPy
norGraalPy
- Prepares the use of Python in a free-threaded context.
- register_
decref β - Registers a Python object pointer inside the release pool, to have its reference count decreased the next time the GIL is acquired in pyo3.
- register_
incref βpy-clone
- Increments the reference count of a Python object if the GIL is held. If the GIL is not held, this function will panic.
- with_
embedded_ βpython_ interpreter Neither PyPy
norGraalPy
- Executes the provided closure with an embedded Python interpreter.
Type Aliases§
- PyObj
Vec π