11 个版本

0.2.1 2021 年 12 月 20 日
0.2.0 2021 年 10 月 25 日
0.1.8 2021 年 9 月 25 日
0.1.7 2021 年 8 月 10 日
0.1.4 2020 年 1 月 1 日

#66 in 文件系统

Download history 96731/week @ 2024-03-14 95043/week @ 2024-03-21 116734/week @ 2024-03-28 106539/week @ 2024-04-04 115471/week @ 2024-04-11 116464/week @ 2024-04-18 114560/week @ 2024-04-25 121501/week @ 2024-05-02 122669/week @ 2024-05-09 146861/week @ 2024-05-16 146471/week @ 2024-05-23 155400/week @ 2024-05-30 153180/week @ 2024-06-06 148051/week @ 2024-06-13 140438/week @ 2024-06-20 137253/week @ 2024-06-27

613,189 每月下载量
297 个 Crates 中使用 (直接使用 38 个)

MIT 许可证

50KB
1K SLoC

fslock

使用文件作为锁的 API。通过禁用特性 std 支持 non-std crates。

类型

目前仅提供一个类型:LockFile。它在关闭后不会销毁文件,并且在 Unix 和 Windows 中对同一进程拥有的不同文件句柄的锁定行为不同,除非您激活了 multilock 特性,该特性启用了在所有平台上按文件描述符/句柄锁定文件的 open_excl 方法。

示例

use fslock::LockFile;
fn main() -> Result<(), fslock::Error> {

    let mut file = LockFile::open("mylock")?;
    file.lock()?;
    do_stuff();
    file.unlock()?;

    Ok(())
}

主分支上的文档

https://brunoczim.github.io/fslock/fslock


lib.rs:

使用文件作为锁的 API。通过禁用特性 std 支持 non-std crates。

类型

目前仅提供一个类型:LockFile。它在关闭后不会销毁文件。在任何平台上,锁定都是按句柄进行的,而不是按进程。然而,在 Unix 上,在 fork 的情况下,文件描述符可能会被复制以共享相同的锁,但在 Rust 中,fork 通常被认为是 unsafe

示例

use fslock::LockFile;
fn main() -> Result<(), fslock::Error> {

    let mut file = LockFile::open("testfiles/mylock.lock")?;
    file.lock()?;
    do_stuff();
    file.unlock()?;

    Ok(())
}

依赖项

~215KB