# Trait critical_section::Impl

source ·

    pub unsafe trait Impl {
        // Required methods
        unsafe fn acquire() -> RawRestoreState;
        unsafe fn release(restore_state: RawRestoreState);
    }

Expand description

Methods required for a critical section implementation.

This trait is not intended to be used except when implementing a critical section.

## Safety

Implementations must uphold the contract specified in `crate::acquire` and `crate::release`.

## Required Methods§

source

#### unsafe fn acquire() -> RawRestoreState

Acquire the critical section.

##### Safety

Callers must uphold the contract specified in `crate::acquire` and `crate::release`.

source

#### unsafe fn release(restore_state: RawRestoreState)

Release the critical section.

##### Safety

Callers must uphold the contract specified in `crate::acquire` and `crate::release`.

## Implementors§