Function nc::flock [−][src]
pub fn flock(fd: i32, operation: i32) -> Result<(), Errno>
Expand description
Apply or remove an advisory lock on an open file.
let path = "/tmp/nc-flock"; let ret = nc::open(path, nc::O_WRONLY | nc::O_CREAT, 0o644); assert!(ret.is_ok()); let fd = ret.unwrap(); let ret = nc::flock(fd, nc::LOCK_EX); assert!(ret.is_ok()); let msg = "Hello, Rust"; let ret = nc::write(fd, msg.as_ptr() as usize, msg.len()); assert!(ret.is_ok()); assert_eq!(ret, Ok(msg.len() as nc::ssize_t)); let ret = nc::flock(fd, nc::LOCK_UN); assert!(ret.is_ok()); assert!(nc::close(fd).is_ok()); assert!(nc::unlink(path).is_ok());