From 77a42bcff92662e255c719e5411207846460da15 Mon Sep 17 00:00:00 2001 From: Zachary Walravens Date: Mon, 2 Feb 2026 16:46:26 -0800 Subject: [PATCH] patch _stream_stream exception handling to close stream properly --- betterproto2/src/betterproto2/grpclib/grpclib_client.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/betterproto2/src/betterproto2/grpclib/grpclib_client.py b/betterproto2/src/betterproto2/grpclib/grpclib_client.py index d8c66575..d99f098d 100644 --- a/betterproto2/src/betterproto2/grpclib/grpclib_client.py +++ b/betterproto2/src/betterproto2/grpclib/grpclib_client.py @@ -144,9 +144,14 @@ async def _stream_stream( try: async for response in stream: yield response - except: + finally: sending_task.cancel() - raise + try: + await sending_task + except asyncio.CancelledError: + pass + if not stream._end_done: + await stream.end() @staticmethod async def _send_messages(stream, messages: MessageSource):