Skip to main content

ax_sync/
lib.rs

1//! OS-independent synchronization interfaces for TGOSKits kernels and components.
2//!
3//! Acquisition methods state the required execution context: ordinary spin
4//! acquisitions disable preemption, `*_irqsave` acquisitions additionally
5//! save and disable local interrupts, and raw acquisitions require an explicit
6//! unsafe contract. [`Mutex`] is always sleepable and never aliases a spin
7//! lock.
8
9#![no_std]
10
11mod context;
12#[doc(hidden)]
13pub mod interface;
14mod lockdep;
15#[cfg(feature = "sleep")]
16mod mutex;
17mod spin;
18
19#[cfg(feature = "sleep")]
20pub use self::mutex::*;
21pub use self::{context::*, lockdep::*, spin::*};