pub unsafe trait RawMutex {
type GuardMarker;
const INIT: Self;
fn lock(&self);
fn try_lock(&self) -> bool;
fn unlock(&self);
}
Expand description
Basic operations for a mutex.
Types implementing this trait can be used by Mutex
to form a safe and
fully-functioning mutex type.
Safety
Implementations of this trait must ensure that the mutex is actually exclusive: a lock can’t be acquired while the mutex is already locked.
Associated Types
type GuardMarker
type GuardMarker
Marker type which determines whether a lock guard should be Send
. Use
one of the GuardSend
or GuardNoSend
helper types here.
Associated Constants
Required methods
Attempts to acquire this mutex without blocking. Returns true
if the lock was successfully acquired and false
otherwise.