jay-compositor 1.14.0

The Jay compositor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use {
    crate::utils::oserror::{OsError, OsErrorExt},
    uapi::c,
};

pub fn set_nonblock(fd: c::c_int) -> Result<(), OsError> {
    let fl = uapi::fcntl_getfl(fd).to_os_error()?;
    uapi::fcntl_setfl(fd, fl | c::O_NONBLOCK).to_os_error()?;
    Ok(())
}

pub fn set_block(fd: c::c_int) -> Result<(), OsError> {
    let fl = uapi::fcntl_getfl(fd).to_os_error()?;
    uapi::fcntl_setfl(fd, fl & !c::O_NONBLOCK).to_os_error()?;
    Ok(())
}