Skip to main content

OwnedFileLockGuard

Struct OwnedFileLockGuard 

Source
pub struct OwnedFileLockGuard { /* private fields */ }
Expand description

A guard that owns its FileLock and releases the lock when dropped.

Unlike FileLockGuard, this guard does not borrow the FileLock, so it has no lifetime and can be stored in long-lived structures or moved across threads and tasks. It is returned by FileLock::lock_owned and related methods.

Implementations§

Source§

impl OwnedFileLockGuard

Source

pub fn file(&self) -> &File ⓘ

Returns a reference to the underlying lock file.

This can be used to read or write auxiliary data stored in the lock file, such as the holder’s process id, while the lock is held.

On Rust 1.89 and newer the returned reference also exposes the standard library’s locking methods (such as File::unlock). Do not call them through this reference: they act on the same underlying lock and would release it while this guard still believes it is held.

Source

pub fn unlock(self) -> Result<FileLock>

Manually unlocks the file lock, returning the FileLock for reuse.

If releasing the lock fails, the FileLock is dropped, which closes the lock file and thereby releases the lock anyway.

Trait Implementations§

Source§

impl Drop for OwnedFileLockGuard

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

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

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.