Skip to main content

ostd/sync/
mod.rs

1// SPDX-License-Identifier: MPL-2.0
2//! Useful synchronization primitives.
3mod guard;
4mod mutex;
5mod rcu;
6mod rwarc;
7mod rwlock;
8mod rwmutex;
9mod spin;
10mod wait;
11//pub(crate) use self::rcu::finish_grace_period;
12pub use self::{
13    guard::{GuardTransfer, LocalIrqDisabled, PreemptDisabled, SpinGuardian, /*WriteIrqDisabled*/},
14    mutex::{Mutex, MutexGuard},
15    rcu::{non_null /*, Rcu, RcuDrop, RcuOption, RcuOptionReadGuard, RcuReadGuard*/},
16    rwarc::{RoArc, RwArc},
17    rwlock::{RwLock, RwLockReadGuard, RwLockUpgradeableGuard, RwLockWriteGuard},
18    rwmutex::{RwMutex, RwMutexReadGuard, RwMutexUpgradeableGuard, RwMutexWriteGuard},
19    spin::{SpinLock, SpinLockGuard},
20    wait::{WaitQueue, Waiter, Waker},
21};
22/*
23pub(crate) fn init() {
24    rcu::init();
25}*/