diff options
Diffstat (limited to 'tests/io_async_fd.rs')
-rw-r--r-- | tests/io_async_fd.rs | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/tests/io_async_fd.rs b/tests/io_async_fd.rs index 49b5a68..aca2546 100644 --- a/tests/io_async_fd.rs +++ b/tests/io_async_fd.rs @@ -1,7 +1,7 @@ #![warn(rust_2018_idioms)] #![cfg(all(unix, feature = "full"))] -use std::os::unix::io::{AsRawFd, IntoRawFd, RawFd}; +use std::os::unix::io::{AsRawFd, RawFd}; use std::sync::{ atomic::{AtomicBool, Ordering}, Arc, @@ -13,7 +13,7 @@ use std::{ task::{Context, Waker}, }; -use nix::unistd::{close, read, write}; +use nix::unistd::{read, write}; use futures::poll; @@ -57,18 +57,18 @@ impl TestWaker { #[derive(Debug)] struct FileDescriptor { - fd: RawFd, + fd: std::os::fd::OwnedFd, } impl AsRawFd for FileDescriptor { fn as_raw_fd(&self) -> RawFd { - self.fd + self.fd.as_raw_fd() } } impl Read for &FileDescriptor { fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> { - read(self.fd, buf).map_err(io::Error::from) + read(self.fd.as_raw_fd(), buf).map_err(io::Error::from) } } @@ -80,7 +80,7 @@ impl Read for FileDescriptor { impl Write for &FileDescriptor { fn write(&mut self, buf: &[u8]) -> io::Result<usize> { - write(self.fd, buf).map_err(io::Error::from) + write(&self.fd, buf).map_err(io::Error::from) } fn flush(&mut self) -> io::Result<()> { @@ -98,12 +98,6 @@ impl Write for FileDescriptor { } } -impl Drop for FileDescriptor { - fn drop(&mut self) { - let _ = close(self.fd); - } -} - fn set_nonblocking(fd: RawFd) { use nix::fcntl::{OFlag, F_GETFL, F_SETFL}; @@ -132,17 +126,10 @@ fn socketpair() -> (FileDescriptor, FileDescriptor) { SockFlag::empty(), ) .expect("socketpair"); - let fds = ( - FileDescriptor { - fd: fd_a.into_raw_fd(), - }, - FileDescriptor { - fd: fd_b.into_raw_fd(), - }, - ); + let fds = (FileDescriptor { fd: fd_a }, FileDescriptor { fd: fd_b }); - set_nonblocking(fds.0.fd); - set_nonblocking(fds.1.fd); + set_nonblocking(fds.0.fd.as_raw_fd()); + set_nonblocking(fds.1.fd.as_raw_fd()); fds } |