Struct sandbox_ipc::sync::Mutex [−][src]
pub struct Mutex { /* fields omitted */ }
An analogue of std::sync::Mutex
which can operate within shared memory.
Methods
impl Mutex
[src]
impl Mutex
pub unsafe fn new_with_memory(
memory: SharedMemMap,
offset: usize
) -> Result<Self>
[src]
pub unsafe fn new_with_memory(
memory: SharedMemMap,
offset: usize
) -> Result<Self>
Creates a brand new Mutex
in the given shared memory location.
This can only be used to create a brand new Mutex
. It cannot be used to create a handle to an
existing Mutex
already created at the given location in shared memory. To send the Mutex
to another
process you must send the shared memory region and a MutexHandle
produced via the handle()
function.
Panics
This function will panic if there is not MUTEX_SHM_SIZE
bytes of memory available at the
given offset
, or if the memory is not aligned to a pointer width within the shared memory section.
pub unsafe fn from_handle(
handle: MutexHandle,
memory: SharedMemMap
) -> Result<Self>
[src]
pub unsafe fn from_handle(
handle: MutexHandle,
memory: SharedMemMap
) -> Result<Self>
Establishes a new reference to a Mutex
previously created with new_with_memory
.
pub fn lock(&self) -> LockResult<MutexGuard>
[src]
pub fn lock(&self) -> LockResult<MutexGuard>
Acquires an exclusive lock on the Mutex
, including any instances created from the same
MutexHandle
.
pub fn handle(&self) -> Result<MutexHandle>
[src]
pub fn handle(&self) -> Result<MutexHandle>
Creates a new handle to the Mutex
that can be transmitted to other processes.