From 6a03f2d94f8753b52bae1708c68dd54a56f8aa21 Mon Sep 17 00:00:00 2001 From: "Poul T. Lomholt" Date: Thu, 12 Mar 2026 23:26:15 -0700 Subject: [PATCH] test: defer uv_clos'ing tcp_shutdown_after_write's socket until server performs uv_shutdown (#5060) Fixes ASSERT thrown in tcp4_echo_server during test. --- test/test-tcp-shutdown-after-write.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/test-tcp-shutdown-after-write.c b/test/test-tcp-shutdown-after-write.c index cd8c24dd6..ed722643b 100644 --- a/test/test-tcp-shutdown-after-write.c +++ b/test/test-tcp-shutdown-after-write.c @@ -74,6 +74,8 @@ static void timer_cb(uv_timer_t* handle) { static void read_cb(uv_stream_t* handle, ssize_t nread, const uv_buf_t* buf) { + if (nread == UV_EOF) + uv_close((uv_handle_t*)&conn, close_cb); } @@ -97,7 +99,6 @@ static void write_cb(uv_write_t* req, int status) { static void shutdown_cb(uv_shutdown_t* req, int status) { ASSERT_OK(status); shutdown_cb_called++; - uv_close((uv_handle_t*)&conn, close_cb); }