rustix_futex_sync/
raw_mutex.rs1use crate::lock_api;
2
3#[repr(transparent)]
13pub struct RawMutex<const SHM: bool>(crate::futex_mutex::Mutex<SHM>);
14
15unsafe impl<const SHM: bool> lock_api::RawMutex for RawMutex<SHM> {
16 type GuardMarker = lock_api::GuardNoSend;
17
18 const INIT: Self = Self(crate::futex_mutex::Mutex::new());
19
20 #[inline]
21 fn lock(&self) {
22 self.0.lock()
23 }
24
25 #[inline]
26 fn try_lock(&self) -> bool {
27 self.0.try_lock()
28 }
29
30 #[inline]
31 unsafe fn unlock(&self) {
32 self.0.unlock()
33 }
34}