diff --git a/crates/fs-lock/src/lib.rs b/crates/fs-lock/src/lib.rs index f3c8ac8a..311c72d7 100644 --- a/crates/fs-lock/src/lib.rs +++ b/crates/fs-lock/src/lib.rs @@ -44,7 +44,8 @@ impl FileLock { /// Note that this operation is blocking, and should not be called in async contexts. pub fn new_try_exclusive(file: File) -> Result)> { match FileExt::try_lock_exclusive(&file) { - Ok(_) => Ok(Self::new(file)), + Ok(true) => Ok(Self::new(file)), + Ok(false) => Err((file, None)), Err(e) if e.raw_os_error() == fs4::lock_contended_error().raw_os_error() => { Err((file, None)) } @@ -70,7 +71,8 @@ impl FileLock { /// Note that this operation is blocking, and should not be called in async contexts. pub fn new_try_shared(file: File) -> Result)> { match FileExt::try_lock_shared(&file) { - Ok(_) => Ok(Self::new(file)), + Ok(true) => Ok(Self::new(file)), + Ok(false) => Err((file, None)), Err(e) if e.raw_os_error() == fs4::lock_contended_error().raw_os_error() => { Err((file, None)) }