diff options
author | Luke T. Shumaker <lukeshu@lukeshu.com> | 2025-02-04 09:05:14 -0700 |
---|---|---|
committer | Luke T. Shumaker <lukeshu@lukeshu.com> | 2025-02-04 21:01:49 -0700 |
commit | 57d4c9f154cacd5d0dcc2f45033d784b3e0b6734 (patch) | |
tree | f96f5c57bbb042b3962bed49853621f6d344de04 /libhw/host_net.c | |
parent | 635539cd0da713729ec2852b3691dc9f73734e59 (diff) |
lib9p: Test that we can do clean shutdown
Diffstat (limited to 'libhw/host_net.c')
-rw-r--r-- | libhw/host_net.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libhw/host_net.c b/libhw/host_net.c index d5a5ad5..bf79480 100644 --- a/libhw/host_net.c +++ b/libhw/host_net.c @@ -190,6 +190,9 @@ static implements_net_stream_conn *hostnet_tcplist_accept(implements_net_stream_ if (RUN_PTHREAD(hostnet_pthread_accept, &args)) return NULL; + if (ret_connfd < 0) + return NULL; + listener->active_conn.vtable = &hostnet_tcp_conn_vtable; listener->active_conn.fd = ret_connfd; listener->active_conn.read_deadline_ns = 0; @@ -203,7 +206,7 @@ static int hostnet_tcplist_close(implements_net_stream_listener *_listener) { VCALL_SELF(struct hostnet_tcp_listener, implements_net_stream_listener, _listener); assert(listener); - return hostnet_map_negerrno(close(listener->fd) ? -errno : 0, OP_NONE); + return hostnet_map_negerrno(shutdown(listener->fd, SHUT_RDWR) ? -errno : 0, OP_NONE); } /* TCP read() *****************************************************************/ |