1
Fork 0

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:
Matthias Krüger 2022-11-30 07:00:31 +01:00 committed by GitHub
commit c752eaa7de
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -119,8 +119,14 @@ impl TcpStream {
unsupported()
}
pub fn shutdown(&self, _: Shutdown) -> io::Result<()> {
unsupported()
pub fn shutdown(&self, how: Shutdown) -> io::Result<()> {
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> {