mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-09-11 04:00:38 +00:00
The group-reap poll folded its deadline arm into the empty-group arm, so a host event loop blocked past graceMs + CLOSE_REAP_MARGIN_MS would run the overdue poll before the grace SIGKILL timer: the group is still non-empty, the deadline has passed, and the shared arm cancelled the never-fired SIGKILL and finalized — releasing a SIGTERM-ignoring same-group survivor for good. Split the arms: empty group cancels the moot timer and finalizes; deadline-with-non-empty-group sends SIGKILL itself (idempotent if the timer already ran) before finalizing. Adds a regression test that busy-blocks the loop past both timers and asserts the survivor's heartbeat freezes.