Fix compilation on WASI, which doesn't yet support dup.
This commit is contained in:
parent
2d6a4c85ca
commit
53e072f220
1 changed files with 10 additions and 0 deletions
|
|
@ -8,6 +8,7 @@ use crate::fmt;
|
|||
use crate::fs;
|
||||
use crate::marker::PhantomData;
|
||||
use crate::mem::forget;
|
||||
#[cfg(not(target_os = "wasi"))]
|
||||
use crate::sys::cvt;
|
||||
use crate::sys_common::{AsInner, FromInner, IntoInner};
|
||||
|
||||
|
|
@ -71,6 +72,7 @@ impl BorrowedFd<'_> {
|
|||
impl OwnedFd {
|
||||
/// Creates a new `OwnedFd` instance that shares the same underlying file handle
|
||||
/// as the existing `OwnedFd` instance.
|
||||
#[cfg(not(target_os = "wasi"))]
|
||||
pub fn try_clone(&self) -> crate::io::Result<Self> {
|
||||
// We want to atomically duplicate this file descriptor and set the
|
||||
// CLOEXEC flag, and currently that's done via F_DUPFD_CLOEXEC. This
|
||||
|
|
@ -88,6 +90,14 @@ impl OwnedFd {
|
|||
let fd = cvt(unsafe { libc::fcntl(self.as_raw_fd(), cmd, 0) })?;
|
||||
Ok(unsafe { Self::from_raw_fd(fd) })
|
||||
}
|
||||
|
||||
#[cfg(target_os = "wasi")]
|
||||
pub fn try_clone(&self) -> crate::io::Result<Self> {
|
||||
Err(crate::io::Error::new_const(
|
||||
crate::io::ErrorKind::Unsupported,
|
||||
&"operation not supported on WASI yet",
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
#[unstable(feature = "io_safety", issue = "87074")]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue