ostd/sync/
mod.rs

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