diff options
Diffstat (limited to 'vendor/rustix/src/io/is_read_write.rs')
-rw-r--r-- | vendor/rustix/src/io/is_read_write.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/vendor/rustix/src/io/is_read_write.rs b/vendor/rustix/src/io/is_read_write.rs new file mode 100644 index 0000000..af33806 --- /dev/null +++ b/vendor/rustix/src/io/is_read_write.rs @@ -0,0 +1,19 @@ +//! The [`is_read_write`] function. +//! +//! [`is_read_write`]: https://docs.rs/rustix/*/rustix/io/fn.is_read_write.html + +use crate::{backend, io}; +use backend::fd::AsFd; + +/// Returns a pair of booleans indicating whether the file descriptor is +/// readable and/or writable, respectively. +/// +/// Unlike [`is_file_read_write`], this correctly detects whether sockets +/// have been shutdown, partially or completely. +/// +/// [`is_file_read_write`]: crate::fs::is_file_read_write +#[inline] +#[cfg_attr(doc_cfg, doc(cfg(all(feature = "fs", feature = "net"))))] +pub fn is_read_write<Fd: AsFd>(fd: Fd) -> io::Result<(bool, bool)> { + backend::io::syscalls::is_read_write(fd.as_fd()) +} |