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()