diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-01-29 14:46:32 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-29 14:46:32 +0100 |
| commit | 2836dcd2dfaeb569060f8894f7b212e85e0eb834 (patch) | |
| tree | a0b283a3809762b9b6c114acdbaa13783ac5b45e | |
| parent | f5f2d4426117375197d7c1ba3eec44a8f213123d (diff) | |
| parent | da0d506ace5dc5ec36cd1eafa37a0657fa61442e (diff) | |
| download | rust-2836dcd2dfaeb569060f8894f7b212e85e0eb834.tar.gz rust-2836dcd2dfaeb569060f8894f7b212e85e0eb834.zip | |
Rollup merge of #93410 - solid-rs:feat-kmc-solid-net-dup, r=dtolnay
kmc-solid: Implement `net::FileDesc::duplicate` This PR implements `std::sys::solid::net::FileDesc::duplicate`, which was accidentally left out when this target was added by #86191.
| -rw-r--r-- | library/std/src/sys/solid/abi/sockets.rs | 3 | ||||
| -rw-r--r-- | library/std/src/sys/solid/net.rs | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/library/std/src/sys/solid/abi/sockets.rs b/library/std/src/sys/solid/abi/sockets.rs index 7c21d0dd25e..eb06a6dd927 100644 --- a/library/std/src/sys/solid/abi/sockets.rs +++ b/library/std/src/sys/solid/abi/sockets.rs @@ -175,6 +175,9 @@ extern "C" { #[link_name = "SOLID_NET_Close"] pub fn close(s: c_int) -> c_int; + #[link_name = "SOLID_NET_Dup"] + pub fn dup(s: c_int) -> c_int; + #[link_name = "SOLID_NET_GetPeerName"] pub fn getpeername(s: c_int, name: *mut sockaddr, namelen: *mut socklen_t) -> c_int; diff --git a/library/std/src/sys/solid/net.rs b/library/std/src/sys/solid/net.rs index 63ba6341c79..c91ecce4d72 100644 --- a/library/std/src/sys/solid/net.rs +++ b/library/std/src/sys/solid/net.rs @@ -107,7 +107,7 @@ impl FileDesc { } fn duplicate(&self) -> io::Result<FileDesc> { - super::unsupported() + cvt(unsafe { netc::dup(self.fd) }).map(Self::new) } } |
