Module sync

Source
Expand description

Synchronisation primitives.

This module contains the kernel APIs related to synchronisation that have been ported or wrapped for usage by Rust code in the kernel.

Re-exports§

pub use lock::mutex::new_mutex;
pub use lock::mutex::Mutex;
pub use lock::mutex::MutexGuard;
pub use lock::spinlock::new_spinlock;
pub use lock::spinlock::SpinLock;
pub use lock::spinlock::SpinLockGuard;

Modules§

lock
Generic kernel lock and guard.
poll
Utilities for working with struct poll_table.
rcu
RCU support.

Macros§

global_lock
Defines a global lock.
new_condvar
Creates a CondVar initialiser with the given name and a newly-created lock class.

Structs§

Arc
A reference-counted pointer to an instance of T.
ArcBorrow
A borrowed reference to an Arc instance.
CondVar
A conditional variable.
GlobalGuard
A guard for a GlobalLock.
GlobalLock
Type used for global locks.
GlobalLockedBy
A version of LockedBy for a GlobalLock.
LockClassKey
Represents a lockdep class. It’s a wrapper around C’s lock_class_key.
LockedBy
Allows access to some data to be serialised by a lock that does not wrap it.
UniqueArc
A refcounted object that is known to have a refcount of 1.

Enums§

CondVarTimeoutResult
The return type of wait_timeout.

Traits§

GlobalLockBackend
Trait implemented for marker types for global locks.