summaryrefslogtreecommitdiffstats
path: root/vendor/rustix/src/io/is_read_write.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/rustix/src/io/is_read_write.rs')
-rw-r--r--vendor/rustix/src/io/is_read_write.rs16
1 files changed, 16 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 000000000..c6f189090
--- /dev/null
+++ b/vendor/rustix/src/io/is_read_write.rs
@@ -0,0 +1,16 @@
+//! The [`is_read_write`] function.
+
+use crate::{imp, io};
+use imp::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]
+pub fn is_read_write<Fd: AsFd>(fd: Fd) -> io::Result<(bool, bool)> {
+ imp::io::syscalls::is_read_write(fd.as_fd())
+}