1 个不稳定版本
0.2.0 | 2024 年 1 月 22 日 |
---|
#476 in 文件系统
5,691 每月下载量
用于 17 个 Crates(通过 fslock-guard)
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