From 1066939e30cda96decac5aedf3447402a2717e72 Mon Sep 17 00:00:00 2001 From: "Sean B. Palmer" Date: Mon, 26 Jan 2026 20:34:26 +0000 Subject: [PATCH] Handle TimeoutError when waiting for the writer to close --- src/hypercorn/asyncio/tcp_server.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/hypercorn/asyncio/tcp_server.py b/src/hypercorn/asyncio/tcp_server.py index 5612214..86ddef4 100644 --- a/src/hypercorn/asyncio/tcp_server.py +++ b/src/hypercorn/asyncio/tcp_server.py @@ -124,7 +124,12 @@ async def _close(self) -> None: ConnectionResetError, RuntimeError, asyncio.CancelledError, - ): + TimeoutError, + ) as exc: + if isinstance(exc, TimeoutError): + transport = getattr(self.writer, "transport", None) + if transport is not None: + transport.abort() pass # Already closed finally: await self.idle_task.stop()