From acb879ca862d4e7827fe0909e88e486d870a4c5d Mon Sep 17 00:00:00 2001 From: Maksim Zuev Date: Wed, 15 Oct 2025 17:32:30 +0200 Subject: [PATCH] [rd debugger] Do not compute children when parent scope already cancelled it caused ClosedSendChannelException in tests GitOrigin-RevId: 89492bc4af7353c676115eee2a7cb2f37afaa127 --- .../platform/debugger/impl/backend/BackendXValueApi.kt | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXValueApi.kt b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXValueApi.kt index db02624f2363..b5403261d7ac 100644 --- a/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXValueApi.kt +++ b/platform/xdebugger-impl/backend/src/com/intellij/platform/debugger/impl/backend/BackendXValueApi.kt @@ -184,7 +184,7 @@ internal fun computeContainerChildren( return channelFlow { parentCs.awaitCancellationAndInvoke { - close() + rawEvents.close() } val addNextChildrenCallbackHandler = AddNextChildrenCallbackHandler(this@channelFlow) @@ -224,16 +224,12 @@ internal fun computeContainerChildren( } } - launch { + try { + xValueContainer.computeChildren(xCompositeBridgeNode) for (event in rawEvents) { send(event.convertToRpcEvent(parentCs, session)) } } - - try { - xValueContainer.computeChildren(xCompositeBridgeNode) - awaitClose() - } finally { xCompositeBridgeNode.obsolete = true }