fix(bun-runner): treat signal-based exits for 'start' as success

Defense-in-depth for #1505. When the 'start' subcommand forks a daemon,
the parent bun process may be killed by signal (exit > 128). If the
close handler fires, treat this as success since the daemon started fine.

Note: the primary fix is in hooks.json since the SIGKILL often kills
the entire process group before this handler fires.
This commit is contained in:
nimesh-kumar-sh
2026-03-27 12:52:36 -07:00
parent ed444dfec7
commit 368daddd88
+7 -1
View File
@@ -171,6 +171,12 @@ child.on('error', (err) => {
process.exit(1);
});
child.on('close', (code) => {
child.on('close', (code, signal) => {
// Fix #1505: When the "start" subcommand forks a daemon, the parent bun
// process may be killed by signal (e.g. SIGKILL, exit code 137). The daemon
// is running fine — treat signal-based exits for "start" as success.
if (signal || (code > 128 && args.includes('start'))) {
process.exit(0);
}
process.exit(code || 0);
});