[][src]Struct fd_lock::FdLock

pub struct FdLock<T: AsRawFd> { /* fields omitted */ }

A file descriptor lock.


impl<T: AsRawFd> FdLock<T>[src]

pub fn new(t: T) -> Self[src]

Create a new instance.

pub fn lock(&mut self) -> Result<FdLockGuard<T>, Error>[src]

Acquires a new lock, blocking the current thread until it's able to do so.

This function will block the local thread until it is available to acquire the lock. Upon returning, the thread is the only thread with the lock held. An RAII guard is returned to allow scoped unlock of the lock. When the guard goes out of scope, the lock will be unlocked.

pub fn try_lock(&mut self) -> Result<FdLockGuard<T>, Error>[src]

Attempts to acquire this lock.

If the lock could not be acquired at this time, then Err is returned. Otherwise, an RAII guard is returned. The lock will be unlocked when the guard is dropped.

This function does not block.

Trait Implementations

impl<T: Debug + AsRawFd> Debug for FdLock<T>[src]

Auto Trait Implementations

impl<T> Send for FdLock<T> where
    T: Send

impl<T> Unpin for FdLock<T> where
    T: Unpin

impl<T> Sync for FdLock<T> where
    T: Sync

impl<T> UnwindSafe for FdLock<T> where
    T: UnwindSafe

impl<T> RefUnwindSafe for FdLock<T> where
    T: RefUnwindSafe

Blanket Implementations

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

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

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

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

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