Problem
packages/desktop-linux/src/display.ts's stopOwnedDaemon for Xvfb has the same individual-kill-vs-group-kill pattern that #29 fixed for the browser supervisor: an exited-or-killed daemon is reported gone without confirming no group member survives. Risk is much lower than the browser case (Xvfb doesn't fork a child tree), which is why #29's fix deliberately scoped to the browser supervisor only.
Expected
Apply the same discipline: group signal + isProcessGroupAlive confirmation (now available in @pickforge/picklab-core from #29), with the same pid-reuse safety considerations.
Surfaced by the #29 implementation (feat/29-cleanup-hardening decision list).
Refs #29
Problem
packages/desktop-linux/src/display.ts'sstopOwnedDaemonfor Xvfb has the same individual-kill-vs-group-kill pattern that #29 fixed for the browser supervisor: an exited-or-killed daemon is reported gone without confirming no group member survives. Risk is much lower than the browser case (Xvfb doesn't fork a child tree), which is why #29's fix deliberately scoped to the browser supervisor only.Expected
Apply the same discipline: group signal +
isProcessGroupAliveconfirmation (now available in @pickforge/picklab-core from #29), with the same pid-reuse safety considerations.Surfaced by the #29 implementation (feat/29-cleanup-hardening decision list).
Refs #29