mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-08 11:02:26 +00:00
fix(parallels): preserve npm update stream kill grace
This commit is contained in:
@@ -1226,6 +1226,8 @@ export class NpmUpdateSmoke {
|
||||
|
||||
let timedOut = false;
|
||||
let killTimer: NodeJS.Timeout | undefined;
|
||||
let forceKillAt: number | undefined;
|
||||
const timeoutKillGraceMs = freshLaneTimeoutKillGraceMs;
|
||||
const signalChild = (signal: NodeJS.Signals): void => {
|
||||
if (!child.pid) {
|
||||
return;
|
||||
@@ -1246,7 +1248,8 @@ export class NpmUpdateSmoke {
|
||||
}
|
||||
timedOut = true;
|
||||
signalChild("SIGTERM");
|
||||
killTimer = setTimeout(() => signalChild("SIGKILL"), 2_000);
|
||||
forceKillAt = Date.now() + timeoutKillGraceMs;
|
||||
killTimer = setTimeout(() => signalChild("SIGKILL"), timeoutKillGraceMs);
|
||||
killTimer.unref();
|
||||
};
|
||||
if (ctx.signal.aborted) {
|
||||
@@ -1273,8 +1276,10 @@ export class NpmUpdateSmoke {
|
||||
clearTimeout(killTimer);
|
||||
}
|
||||
if (timedOut) {
|
||||
signalChild("SIGKILL");
|
||||
resolve(124);
|
||||
void finishTimedOutLoggedProcessTree(child, {
|
||||
forceKillAt,
|
||||
timeoutKillGraceMs,
|
||||
}).then(() => resolve(124), reject);
|
||||
return;
|
||||
}
|
||||
resolve(code ?? (signal ? 128 : 1));
|
||||
|
||||
Reference in New Issue
Block a user