Skip to content

Commit 27aff26

Browse files
committed
Add awaitCancellation to ensure coroutine runs until explicitly canceled
1 parent 9653e30 commit 27aff26

File tree

1 file changed

+2
-0
lines changed
  • samples/kotlin-mcp-server/src/main/kotlin/io/modelcontextprotocol/sample/server

1 file changed

+2
-0
lines changed

samples/kotlin-mcp-server/src/main/kotlin/io/modelcontextprotocol/sample/server/server.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import io.modelcontextprotocol.kotlin.sdk.types.ServerCapabilities
3131
import io.modelcontextprotocol.kotlin.sdk.types.TextContent
3232
import io.modelcontextprotocol.kotlin.sdk.types.TextResourceContents
3333
import kotlinx.coroutines.Job
34+
import kotlinx.coroutines.awaitCancellation
3435
import kotlinx.coroutines.runBlocking
3536
import kotlinx.io.asSink
3637
import kotlinx.io.asSource
@@ -121,6 +122,7 @@ fun runSseMcpServerWithPlainConfiguration(port: Int, wait: Boolean = true) {
121122
println("Server session closed for: ${transport.sessionId}")
122123
serverSessions.remove(transport.sessionId)
123124
}
125+
awaitCancellation()
124126
}
125127
post("/message") {
126128
val sessionId: String? = call.request.queryParameters["sessionId"]

0 commit comments

Comments
 (0)