Skip to content

Commit cdaaa7f

Browse files
committed
get back properly closed response
1 parent fb538df commit cdaaa7f

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

src/mcp/server/sse.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)