From 086021cda862f53c121d00b89be0562b35d1606c Mon Sep 17 00:00:00 2001 From: Jerry-Xin Date: Sat, 14 Mar 2026 20:05:27 +0800 Subject: [PATCH] fix(doctor): close status-only memory manager after probe The doctor.memory.status handler creates a memory manager with purpose: "status" but never closes it. For qmd backends this opens a read-only SQLite handle that only releases on close(), so repeated health probes can accumulate file descriptors in long-lived gateway processes. Add a finally block to ensure the manager is always closed after the probe completes. --- src/gateway/server-methods/doctor.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gateway/server-methods/doctor.ts b/src/gateway/server-methods/doctor.ts index e0b98f9283e..569ca9df500 100644 --- a/src/gateway/server-methods/doctor.ts +++ b/src/gateway/server-methods/doctor.ts @@ -55,6 +55,8 @@ export const doctorHandlers: GatewayRequestHandlers = { }, }; respond(true, payload, undefined); + } finally { + await manager.close(); } }, };