diff --git a/src/lib.rs b/src/lib.rs index 74b2a1d..a67776a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -32672,6 +32672,9 @@ mod tests { while !server_stop.load(Ordering::SeqCst) { match listener.accept() { Ok((mut stream, _)) => { + // macOS/BSD accepted sockets inherit the listener's O_NONBLOCK. + let _ = stream.set_nonblocking(false); + let _ = stream.set_write_timeout(Some(Duration::from_secs(2))); if behavior.concurrent_requests { let requests = Arc::clone(&server_requests); request_threads.push(thread::spawn(move || { diff --git a/tests/replay_regression_corpus.rs b/tests/replay_regression_corpus.rs index 4e9417c..ca922a5 100644 --- a/tests/replay_regression_corpus.rs +++ b/tests/replay_regression_corpus.rs @@ -73,6 +73,9 @@ impl FixtureServer { while !server_stop.load(Ordering::SeqCst) { match listener.accept() { Ok((mut stream, _)) => { + // macOS/BSD accepted sockets inherit the listener's O_NONBLOCK. + let _ = stream.set_nonblocking(false); + let _ = stream.set_write_timeout(Some(Duration::from_secs(2))); handle_request( &mut stream, &server_requests, diff --git a/tests/sticky_server.rs b/tests/sticky_server.rs index 01f92d0..b4e1689 100644 --- a/tests/sticky_server.rs +++ b/tests/sticky_server.rs @@ -186,6 +186,11 @@ impl HistoryProxy { } Err(error) => panic!("proxy accept: {error}"), }; + // macOS/BSD accepted sockets inherit the listener's O_NONBLOCK. + incoming.set_nonblocking(false).unwrap(); + incoming + .set_write_timeout(Some(Duration::from_secs(10))) + .unwrap(); incoming .set_read_timeout(Some(Duration::from_secs(10))) .unwrap();