diff options
author | 2022-12-15 16:27:06 -0800 | |
---|---|---|
committer | 2022-12-15 16:28:47 -0800 | |
commit | 9e909dcae16fd889e7ad47bf7277f4955ff9dafb (patch) | |
tree | dab4d8d972476310d73a6f7a8dacc9a99ae301c2 /src/bun.js | |
parent | 3c1ad4b56892cffa45b8dbe958ac1ce3b8a7179f (diff) | |
download | bun-9e909dcae16fd889e7ad47bf7277f4955ff9dafb.tar.gz bun-9e909dcae16fd889e7ad47bf7277f4955ff9dafb.tar.zst bun-9e909dcae16fd889e7ad47bf7277f4955ff9dafb.zip |
[bun run] Include signal code on error
Diffstat (limited to 'src/bun.js')
-rw-r--r-- | src/bun.js/api/bun/subprocess.zig | 42 |
1 files changed, 4 insertions, 38 deletions
diff --git a/src/bun.js/api/bun/subprocess.zig b/src/bun.js/api/bun/subprocess.zig index 53f0da03e..c4d6467a0 100644 --- a/src/bun.js/api/bun/subprocess.zig +++ b/src/bun.js/api/bun/subprocess.zig @@ -61,40 +61,7 @@ pub const Subprocess = struct { is_sync: bool = false, this_jsvalue: JSC.JSValue = .zero, - pub const SignalCode = enum(u8) { - SIGHUP = 1, - SIGINT = 2, - SIGQUIT = 3, - SIGILL = 4, - SIGTRAP = 5, - SIGABRT = 6, - SIGBUS = 7, - SIGFPE = 8, - SIGKILL = 9, - SIGUSR1 = 10, - SIGSEGV = 11, - SIGUSR2 = 12, - SIGPIPE = 13, - SIGALRM = 14, - SIGTERM = 15, - SIG16 = 16, - SIGCHLD = 17, - SIGCONT = 18, - SIGSTOP = 19, - SIGTSTP = 20, - SIGTTIN = 21, - SIGTTOU = 22, - SIGURG = 23, - SIGXCPU = 24, - SIGXFSZ = 25, - SIGVTALRM = 26, - SIGPROF = 27, - SIGWINCH = 28, - SIGIO = 29, - SIGPWR = 30, - SIGSYS = 31, - _, - }; + pub const SignalCode = bun.SignalCode; pub fn hasExited(this: *const Subprocess) bool { return this.exit_code != null or this.waitpid_err != null or this.signal_code != null; @@ -989,11 +956,10 @@ pub const Subprocess = struct { global: *JSGlobalObject, ) callconv(.C) JSValue { if (this.signal_code) |signal| { - const value = @enumToInt(signal); - if (value < @enumToInt(SignalCode.SIGSYS) + 1) - return JSC.ZigString.init(std.mem.span(@tagName(signal))).toValueGC(global) + if (signal.name()) |name| + return JSC.ZigString.init(name).toValueGC(global) else - return JSC.JSValue.jsNumber(value); + return JSC.JSValue.jsNumber(@enumToInt(signal)); } return JSC.JSValue.jsNull(); |