From 8c9def2d73b0676e86780c4a582f203d0d9f0f3e Mon Sep 17 00:00:00 2001 From: Wildan M Date: Wed, 13 May 2026 20:49:02 +0700 Subject: [PATCH] Lazily clean up futex --- src/syscall/futex.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/syscall/futex.rs b/src/syscall/futex.rs index 847cd141a6..dac6273c94 100644 --- a/src/syscall/futex.rs +++ b/src/syscall/futex.rs @@ -209,7 +209,11 @@ pub fn futex( if futex.target_virtaddr != target_virtaddr || !current_addrsp_weak.ptr_eq(&futex.addr_space) { - i += 1; + if futex.addr_space.strong_count() == 0 { + futexes.swap_remove(i); + } else { + i += 1; + } continue; } futex.context_lock.write(token.token()).unblock();