From 84672a00b962e5944642d243bd53360ee0c8d14d Mon Sep 17 00:00:00 2001 From: Riz Ashraf Date: Mon, 21 Sep 2026 05:51:38 +0100 Subject: [PATCH] Fix task memory leak in nvim-core pending request cleanup loop --- nvim-core/src/lib.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nvim-core/src/lib.rs b/nvim-core/src/lib.rs index 2ee1ed8..04696aa 100644 --- a/nvim-core/src/lib.rs +++ b/nvim-core/src/lib.rs @@ -237,6 +237,9 @@ async fn get_nvim_connection() -> Result, String> { let mut interval = tokio::time::interval(tokio::time::Duration::from_secs(10)); loop { interval.tick().await; + if Arc::strong_count(&pending_clone3) <= 1 { + break; // Socket closed and other tasks finished, no need to keep cleaning up + } pending_clone3.lock().await.retain(|_, sender| !sender.is_closed()); } });