From fa2d65d7624a9683770fb7d9117a8af5f94663e7 Mon Sep 17 00:00:00 2001 From: Ollie Agent Date: Tue, 18 Aug 2026 07:05:33 +0200 Subject: [PATCH] Mark LSP timeout retention resolved --- doc/concurrency-resource-audit.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/doc/concurrency-resource-audit.md b/doc/concurrency-resource-audit.md index b7ef904..0c7bb4f 100644 --- a/doc/concurrency-resource-audit.md +++ b/doc/concurrency-resource-audit.md @@ -268,13 +268,9 @@ Cancellation removes the request from the active set. `NextPending` discards sta ### M11. LSP timed-out requests retain channels until late responses -**Evidence:** `tools/lsp/server.go:146-176`. +**Status:** Resolved by the existing request cleanup. -After timeout, the pending request is deleted, but a late response keeps the associated channel alive until it arrives or the process exits. - -**Impact:** bounded retention under repeated timeouts; potentially significant with a stalled server. - -**Remediation:** bound outstanding requests and make shutdown release all pending waiters. +Timeout and send-error paths delete the request channel from `pending`. Late responses find no pending entry and are discarded, so they do not retain the channel. Shutdown also releases all pending waiters. ### M12. `pushProcInterrupt` has weak connection ownership