31 个发布版本 (14 个稳定版)

2.1.11 2024年2月17日
2.1.10 2023年7月16日
2.1.9 2023年2月8日
2.1.6 2022年7月16日
0.0.17 2015年6月26日

Unix APIs 中排名 33

Download history 3053/week @ 2024-04-23 1982/week @ 2024-04-30 3281/week @ 2024-05-07 2647/week @ 2024-05-14 2210/week @ 2024-05-21 1651/week @ 2024-05-28 1985/week @ 2024-06-04 2575/week @ 2024-06-11 2926/week @ 2024-06-18 2471/week @ 2024-06-25 2124/week @ 2024-07-02 2747/week @ 2024-07-09 2383/week @ 2024-07-16 2211/week @ 2024-07-23 2566/week @ 2024-07-30 3454/week @ 2024-08-06

每月下载量 11,097
33 个 crate 中使用(直接使用11个)

MIT 许可证

21KB
281 代码行,不包括注释

名称

file-lock - 使用 POSIX 建议记录锁进行文件锁定

此 crate 通过 fcntl() 提供了根据 UNIX IEEE Std 1003.1-2001 (POSIX.1) 规定的建议记录锁方案来锁定和解锁文件的功能。

用法

extern crate file_lock;

use file_lock::{FileLock, FileOptions};
use std::io::prelude::*;

fn main() {
    let should_we_block  = true;
    let lock_for_writing = FileOptions::new().write(true).create_new(true);

    let mut filelock = match FileLock::lock("myfile.txt", should_we_block, lock_for_writing) {
        Ok(lock) => lock,
        Err(err) => panic!("Error getting write lock: {}", err),
    };

    filelock.file.write_all(b"Hello, World!").is_ok();

    // Manually unlocking is optional as we unlock on Drop
    filelock.unlock();
}

文档

支持

请在此处报告任何错误或功能请求:

请随意分叉存储库并提交拉取请求 :)

依赖关系

另请参阅

作者

Alfie John

Corey Richardson

Ed Branch

Jacob Turner

Mateusz Kondej

Michael Lohr

Quang Luong

Sebastian Thiel

保证

不提供任何形式的保证。

版权和许可证

MIT 许可证

版权所有 (c) 2021 Alfie John

以下条件,任何获得此软件及其相关文档副本(“软件”)的人均可免费使用、复制、修改、合并、发布、分发、再许可或出售软件副本,并允许提供软件的人进行此类操作:

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论责任产生于合同、侵权或其他原因,以及与软件、软件的使用或其他与软件相关的行为有关。

许可证

许可方式为以下之一

由您选择。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在本作品中的任何贡献,将按上述方式双许可,不附加任何额外条款或条件。

依赖项

~225KB