From 8f050355ff08e6e44681b20b17885a01e8480b73 Mon Sep 17 00:00:00 2001 From: Nayeem Rahman Date: Wed, 10 Jun 2020 16:10:08 +0100 Subject: fix(cli/js/process): Always return a code in ProcessStatus (#5244) --- cli/js/process.ts | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'cli/js') diff --git a/cli/js/process.ts b/cli/js/process.ts index cfae7fe56..f318b0c1c 100644 --- a/cli/js/process.ts +++ b/cli/js/process.ts @@ -21,10 +21,11 @@ async function runStatus(rid: number): Promise { if (res.gotSignal) { const signal = res.exitSignal; - return { signal, success: false }; + return { success: false, code: 128 + signal, signal }; + } else if (res.exitCode != 0) { + return { success: false, code: res.exitCode }; } else { - const code = res.exitCode; - return { code, success: code === 0 }; + return { success: true, code: 0 }; } } @@ -92,11 +93,17 @@ export class Process { } } -export interface ProcessStatus { - success: boolean; - code?: number; - signal?: number; // TODO: Make this a string, e.g. 'SIGTERM'. -} +export type ProcessStatus = + | { + success: true; + code: 0; + signal?: undefined; + } + | { + success: false; + code: number; + signal?: number; + }; function isRid(arg: unknown): arg is number { return !isNaN(arg as number); -- cgit v1.2.3