aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-12-15 16:27:06 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-12-15 16:28:47 -0800
commit9e909dcae16fd889e7ad47bf7277f4955ff9dafb (patch)
treedab4d8d972476310d73a6f7a8dacc9a99ae301c2 /src/bun.js
parent3c1ad4b56892cffa45b8dbe958ac1ce3b8a7179f (diff)
downloadbun-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.zig42
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();