Rollup merge of #104811 - haraldh:feat/wasm32_wasi_shutdown, r=joshtriplett
feat: implement TcpStream shutdown for wasm32-wasi Signed-off-by: Harald Hoyer <harald@profian.com>
This commit is contained in:
commit
c752eaa7de
1 changed files with 8 additions and 2 deletions
|
@ -119,8 +119,14 @@ impl TcpStream {
|
||||||
unsupported()
|
unsupported()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn shutdown(&self, _: Shutdown) -> io::Result<()> {
|
pub fn shutdown(&self, how: Shutdown) -> io::Result<()> {
|
||||||
unsupported()
|
let wasi_how = match how {
|
||||||
|
Shutdown::Read => wasi::SDFLAGS_RD,
|
||||||
|
Shutdown::Write => wasi::SDFLAGS_WR,
|
||||||
|
Shutdown::Both => wasi::SDFLAGS_RD | wasi::SDFLAGS_WR,
|
||||||
|
};
|
||||||
|
|
||||||
|
unsafe { wasi::sock_shutdown(self.socket().as_raw_fd() as _, wasi_how).map_err(err2io) }
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn duplicate(&self) -> io::Result<TcpStream> {
|
pub fn duplicate(&self) -> io::Result<TcpStream> {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue