Struct cpython::GILGuard[][src]

#[must_use]pub struct GILGuard { /* fields omitted */ }

RAII type that represents the Global Interpreter Lock acquisition.

Example

use cpython::Python;

{
    let gil_guard = Python::acquire_gil();
    let py = gil_guard.python();
} // GIL is released when gil_guard is dropped

Implementations

impl GILGuard[src]

pub fn acquire() -> GILGuard[src]

Acquires the global interpreter lock, which allows access to the Python runtime.

If the Python runtime is not already initialized, this function will initialize it. See prepare_freethreaded_python() for details.

pub fn python(&self) -> Python<'_>[src]

Retrieves the marker type that proves that the GIL was acquired.

Trait Implementations

impl Drop for GILGuard[src]

The Drop implementation for GILGuard will release the GIL.

Auto Trait Implementations

impl !RefUnwindSafe for GILGuard[src]

impl !Send for GILGuard[src]

impl !Sync for GILGuard[src]

impl Unpin for GILGuard[src]

impl UnwindSafe for GILGuard[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.