Sha256: 1bb896e8d6be4e0a344132cd3cbfd89b08a8ee84414be2151fe1ecbdba88cb6d

Contents?: true

Size: 1.18 KB

Versions: 37

Compression:

Stored size: 1.18 KB

Contents

//! Advisory reader-writer locks for files.
//!
//! # Notes on Advisory Locks
//!
//! "advisory locks" are locks which programs must opt-in to adhere to. This
//! means that they can be used to coordinate file access, but not prevent
//! access. Use this to coordinate file access between multiple instances of the
//! same program. But do not use this to prevent actors from accessing or
//! modifying files.
//!
//! # Example
//!
//! ```no_run
//! # use std::io;
//! use std::io::prelude::*;
//! use std::fs::File;
//! use fd_lock::RwLock;
//!
//! # fn main() -> io::Result<()> {
//! // Lock a file and write to it.
//! let mut f = RwLock::new(File::open("foo.txt")?);
//! write!(f.write()?, "chashu cat")?;
//!
//! // A lock can also be held across multiple operations.
//! let mut f = f.write()?;
//! write!(f, "nori cat")?;
//! write!(f, "bird!")?;
//! # Ok(()) }
//! ```

#![forbid(future_incompatible)]
#![deny(missing_debug_implementations, nonstandard_style)]
#![cfg_attr(doc, warn(missing_docs, rustdoc::missing_doc_code_examples))]

mod read_guard;
mod rw_lock;
mod write_guard;

pub(crate) mod sys;

pub use read_guard::RwLockReadGuard;
pub use rw_lock::RwLock;
pub use write_guard::RwLockWriteGuard;

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
wasmtime-30.0.2 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-29.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-28.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-27.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-26.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-25.0.2 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-25.0.1 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-25.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-24.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-23.0.2 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-22.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-21.0.1 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-20.0.2 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-20.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-18.0.3 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-17.0.1 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-17.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-16.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-15.0.1 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs
wasmtime-15.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/lib.rs