blob: 12544dd3cd8cb52e3d6fad504556fb1d7c959288 [file] [log] [blame]
mod read_guard;
mod rw_lock;
mod write_guard;
pub use read_guard::RwLockReadGuard;
pub use rw_lock::RwLock;
pub use write_guard::RwLockWriteGuard;
use rustix::{fd::AsFd, fs};
pub(crate) fn compatible_unix_lock<Fd: AsFd>(
fd: Fd,
operation: fs::FlockOperation,
) -> rustix::io::Result<()> {
#[cfg(not(target_os = "solaris"))]
return fs::flock(fd, operation);
#[cfg(target_os = "solaris")]
return fs::fcntl_lock(fd, operation);
}