#文件锁 #锁定文件 #文件 # #锁定

无 std fslock-arti-fork

一个用于将文件用作锁的库,用于 Arti 的分支

1 个不稳定版本

0.2.0 2024 年 1 月 22 日

#476 in 文件系统

Download history 531/week @ 2024-03-13 781/week @ 2024-03-20 689/week @ 2024-03-27 710/week @ 2024-04-03 773/week @ 2024-04-10 671/week @ 2024-04-17 982/week @ 2024-04-24 758/week @ 2024-05-01 743/week @ 2024-05-08 987/week @ 2024-05-15 1092/week @ 2024-05-22 1180/week @ 2024-05-29 746/week @ 2024-06-05 1189/week @ 2024-06-12 1913/week @ 2024-06-19 1572/week @ 2024-06-26

5,691 每月下载量
用于 17 个 Crates(通过 fslock-guard

MIT 许可证

54KB
1.5K SLoC

fslock-arti-fork

注意:这是 fslock crate 的分支,用于 Arti。我们临时分支是因为我们需要 https://github.com/brunoczim/fslock/pull/15 以安全地实现文件删除。

用于将文件用作锁的 API。通过禁用功能 std 支持非 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:

警告:v0.1.x 与 v0.2.x 及以后的版本不兼容。

注意:这是 fslock crate 的分支,用于 Arti。我们临时分支是因为我们需要 https://github.com/brunoczim/fslock/pull/15 以安全地实现文件删除。

用于将文件用作锁的 API。通过禁用功能 std 支持非 std Crates。

类型

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

示例

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

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

    Ok(())
}

依赖关系

~215KB