Struct exec_rs::sync::ReferenceCountedMutex[][src]

pub struct ReferenceCountedMutex<K> where
    K: 'static + Sync + Send + Clone + Hash + Ord
{ /* fields omitted */ }

Struct that holds the mutex used for synchronisation and manages removing itself from the containing map once no longer referenced by any threads. Removes itself from the map when decrementing the counter from 1 to 0 and makes sure that the counter cannot be incremented back up once reaching 0 in case a thread finds a ReferenceCountedMutex that is in the process of being removed from the map.

Auto Trait Implementations

impl<K> !RefUnwindSafe for ReferenceCountedMutex<K>

impl<K> Send for ReferenceCountedMutex<K>

impl<K> Sync for ReferenceCountedMutex<K>

impl<K> Unpin for ReferenceCountedMutex<K> where
    K: Unpin

impl<K> UnwindSafe for ReferenceCountedMutex<K> where
    K: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.