@@ -120,16 +120,17 @@ async def sse_writer():
120120 }
121121 )
122122
123-
124- async with anyio .create_task_group () as tg :
125- response = EventSourceResponse (
126- content = sse_stream_reader , data_sender_callable = sse_writer
127- )
128- logger .debug ("Starting SSE response task" )
129- tg .start_soon (response , scope , receive , send )
130-
131- logger .debug ("Yielding read and write streams" )
132- yield (read_stream , write_stream , response )
123+ # Ensure all streams are properly closed
124+ async with read_stream , write_stream , read_stream_writer , sse_stream_reader :
125+ async with anyio .create_task_group () as tg :
126+ response = EventSourceResponse (
127+ content = sse_stream_reader , data_sender_callable = sse_writer
128+ )
129+ logger .debug ("Starting SSE response task" )
130+ tg .start_soon (response , scope , receive , send )
131+
132+ logger .debug ("Yielding read and write streams" )
133+ yield (read_stream , write_stream )
133134
134135 async def handle_post_message (
135136 self , scope : Scope , receive : Receive , send : Send
0 commit comments