diff options
Diffstat (limited to 'vendor/rustix-0.36.5/src/io/is_read_write.rs')
-rw-r--r-- | vendor/rustix-0.36.5/src/io/is_read_write.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/vendor/rustix-0.36.5/src/io/is_read_write.rs b/vendor/rustix-0.36.5/src/io/is_read_write.rs new file mode 100644 index 000000000..74007e7f9 --- /dev/null +++ b/vendor/rustix-0.36.5/src/io/is_read_write.rs @@ -0,0 +1,20 @@ +//! The [`is_read_write`] function. + +#[cfg(all(feature = "fs", feature = "net"))] +use crate::{backend, io}; +#[cfg(all(feature = "fs", feature = "net"))] +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(all(feature = "fs", feature = "net"))] +#[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()) +} |