Skip to main content

Module sync

Module sync 

Source

Re-exportsยง

pub use guardian::Guardian;
pub use guardian::IrqDisabled;
pub use guardian::PreemptDisabled;
pub use preempt::PreemptGuard;
pub use waitqueue::WaitCondition;
pub use waitqueue::WaitQueue;

Modulesยง

fixed_queue ๐Ÿ”’
guardian
Lock guardian trait : determines the guard behaviour of [SpinLock].
irq ๐Ÿ”’
preempt
Preemption guard : disables preemption for the lifetime of the guard.
spinlock ๐Ÿ”’
Generic spinlock with configurable guard behaviour.
waitqueue
Wait queue and condition variable for blocking/waking tasks.

Structsยง

FixedQueue
Fixed-capacity FIFO queue with no heap allocation.
IrqDisabledToken
Typed proof that IRQs are masked on the current CPU.
SpinLock
A spinlock parameterised by a Guardian.
SpinLockGuard
RAII guard that holds the lock and carries the guardian state.

Functionsยง

debug_clear_watch_lock_addr
Clear the watched lock address.
debug_set_trace_buddy_addr
Legacy alias: register the first available trace slot.
debug_set_trace_lock_addr
Register a lock address for E9 trace. Returns the slot index (0..7), or None if all slots are in use.
debug_set_trace_slab_addr
Legacy alias: register the first available trace slot.
debug_set_watch_lock_addr
Register a lock address to trace on every drop (serial console output).
with_irqs_disabled
Execute a closure with IRQs disabled, providing an IrqDisabledToken as proof.