fix(subagent): bound forced child termination

Observe signal errors and bound the final forced-exit edge with disposeGraceMs so a refused or ineffective SIGKILL cannot leave disposal pending forever.

Apply the confirmation bound on POSIX and Windows, remove listeners and timers on every outcome, and update the ACP consumer contract plus the generated config catalog.

Cover emitted signal errors, synchronous kill exceptions, refused termination, and accepted termination that never reports exit.
This commit is contained in:
Tianyi Cui
2026-07-19 12:19:33 +08:00
parent 1b496854c2
commit 4625195968
7 changed files with 118 additions and 23 deletions

View File

@@ -866,7 +866,7 @@ export interface Config {
* before the parent escalates to a signal.
*/
disposeEofGraceMs?: number
/** POSIX grace period (ms) between `SIGTERM` and `SIGKILL`; unused on Windows. */
/** Termination confirmation window (ms), including forced exit on every platform. */
disposeGraceMs?: number
}