mirror of
https://github.com/nimbold/Firelink.git
synced 2026-07-27 20:40:12 +00:00
4b7c00dae3
Backend QueueManager as sole concurrency gatekeeper with Arc<Semaphore>, uniform permit parking for aria2/media/native, CAS-based lazy semaphore shrink, idle-park dispatcher, and reactive frontend store. Design surfaced and fixes four correctness bugs: - idle CPU spin on empty queue (peek-then-Notify park) - fetch_sub underflow to usize::MAX (CAS retirement loop) - aria2 permit leak on early RPC return (permit parking in active_permits) - gid completion race before aria2_gids store (pending_completion buffer)