//! Platform-specific OS locking primitives.
//!
//! Each platform module exposes a single type:
//!
//! ```text
//! pub(crate) struct OsLock { … }
//! impl OsLock {
//! fn lock(&self) -> io::Result<LockAcquisition>
//! fn try_lock(&self) -> io::Result<LockAcquisition> // Err(WouldBlock) when held
//! fn unlock(&self) -> io::Result<()>
//! }
//! ```
/// Result of acquiring the OS-level lock.
///
/// On Windows a named mutex may be abandoned when the previous owner terminates
/// without releasing it; on Unix this situation does not exist.
pub
pub use OsLock;
pub use OsLock;