use close, not shutdown on BSD/Mac

This commit is contained in:
Karl Seguin
2026-02-05 10:58:10 +08:00
parent 17aac58e08
commit da49d918d6

View File

@@ -41,9 +41,10 @@ pub fn deinit(self: *TestHTTPServer) void {
pub fn stop(self: *TestHTTPServer) void { pub fn stop(self: *TestHTTPServer) void {
self.shutdown.store(true, .release); self.shutdown.store(true, .release);
if (self.listener) |*listener| { if (self.listener) |*listener| {
// Use shutdown to unblock accept(). On Linux this causes accept to switch (@import("builtin").target.os.tag) {
// return error.SocketNotListening. close() alone doesn't interrupt accept(). .linux => std.posix.shutdown(listener.stream.handle, .recv) catch {},
std.posix.shutdown(listener.stream.handle, .recv) catch {}; else => std.posix.close(listener.stream.handle),
}
} }
} }