[][src]Struct fd_lock::FdLock

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

A file descriptor lock.

Implementations

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>>[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.

Errors

On Unix this may return an error if the operation was interrupted by a signal handler.

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

Attempts to acquire an advisory lock.

Unlike FdLock::lock this function will never block, but instead will return an error if the lock cannot be acquired.

Errors

If the lock is already held and ErrorKind::WouldBlock error is returned. This may also return an error if the operation was interrupted by a signal handler.

Trait Implementations

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

Auto Trait Implementations

impl<T> RefUnwindSafe for FdLock<T> where
    T: RefUnwindSafe
[src]

impl<T> Send for FdLock<T> where
    T: Send
[src]

impl<T> Sync for FdLock<T> where
    T: Sync
[src]

impl<T> Unpin for FdLock<T> where
    T: Unpin
[src]

impl<T> UnwindSafe for FdLock<T> where
    T: UnwindSafe
[src]

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.