mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-08 13:50:20 +00:00
The keep-alive branch every persistent worker takes on an idle manager dropped and retook manager.lock around each spin window, so with several workerCount threads the releaser retook the lock before a queued waiter woke and the other workers starved inside lock acquisition. Burn the idle window on the workEpoch snapshot without the lock and relock only when dispatches, the persistent count or shutdown changed it, as WakeWorkers, StopManager and setPersistentThreadCount bump it.