Struct shared_mutex::RawSharedMutex
[−]
[src]
pub struct RawSharedMutex {
// some fields omitted
}A raw lock providing both shared read locks and exclusive write locks.
Used as a raw building block for other synchronization primitives. Most
users should just use SharedMutex<T>, which takes care of tieing the lock
to some data.
Methods
impl RawSharedMutex[src]
fn new() -> RawSharedMutex
Create a new RawSharedMutex
fn read(&self)
Acquire a shared read lock.
Blocks until a read lock can be acquired. The lock can be released
by calling unlock_read.
fn write(&self)
Acquire an exclusive write lock.
Blocks until the write lock can be acquired. The lock can be released
by calling unlock_write.
fn unlock_read(&self)
Unlock a previously acquired read lock.
Behavior is unspecified (but not undefined) if unlock_read is called
without a previous accompanying read.
fn unlock_write(&self)
Unlock a previously acquired write lock.
Behavior is unspecified (but not undefined) if unlock_write is called
without a previous accompanying write.
fn wait_from_read_to_write(&self, cond: &Condvar)
Wait on the given condition variable, resuming with a write lock.
Behavior is unspecified if there was no previous accompanying read.
fn wait_from_read_to_read(&self, cond: &Condvar)
Wait on the given condition variable, resuming with another read lock.
Behavior is unspecified if there was no previous accompanying read.
fn wait_from_write_to_read(&self, cond: &Condvar)
Wait on the given condition variable, resuming with a read lock.
Behavior is unspecified if there was no previous accompanying write.
fn wait_from_write_to_write(&self, cond: &Condvar)
Wait on the given condition variable, resuming with another write lock.
Behavior is unspecified if there was no previous accompanying write.