diff options
author | 2022-11-28 23:47:25 -0800 | |
---|---|---|
committer | 2022-11-28 23:48:04 -0800 | |
commit | d28247573cd8e019b835452bbec191dadc38d86d (patch) | |
tree | dcea9b322f510561becf5e480053d964abcc1a56 /src/bun.js | |
parent | 56884b5f1dd60a2673ef765a5556bd37d00c1292 (diff) | |
download | bun-d28247573cd8e019b835452bbec191dadc38d86d.tar.gz bun-d28247573cd8e019b835452bbec191dadc38d86d.tar.zst bun-d28247573cd8e019b835452bbec191dadc38d86d.zip |
Handle when the process already exited immediately
Diffstat (limited to 'src/bun.js')
-rw-r--r-- | src/bun.js/api/bun/subprocess.zig | 2 | ||||
-rw-r--r-- | src/bun.js/base.zig | 11 |
2 files changed, 7 insertions, 6 deletions
diff --git a/src/bun.js/api/bun/subprocess.zig b/src/bun.js/api/bun/subprocess.zig index d803704f3..d4fc06e2d 100644 --- a/src/bun.js/api/bun/subprocess.zig +++ b/src/bun.js/api/bun/subprocess.zig @@ -1320,7 +1320,7 @@ pub const Subprocess = struct { )) { .result => {}, .err => |err| { - if (err.getErrno() == .SRCH) { + if (err.getErrno() != .SRCH) { @panic("This shouldn't happen"); } diff --git a/src/bun.js/base.zig b/src/bun.js/base.zig index dc0b98e61..87ace2c54 100644 --- a/src/bun.js/base.zig +++ b/src/bun.js/base.zig @@ -3656,7 +3656,9 @@ pub const FilePoll = struct { 1, // The same array may be used for the changelist and eventlist. &changelist, - 1, + // we set 0 here so that if we get an error on + // registration, it becomes errno + 0, KEVENT_FLAG_ERROR_EVENTS, &timeout, ); @@ -3679,10 +3681,9 @@ pub const FilePoll = struct { const errno = std.c.getErrno(rc); if (errno != .SUCCESS) { - switch (rc) { - std.math.minInt(@TypeOf(rc))...-1 => return JSC.Maybe(void).errnoSys(@enumToInt(errno), .kevent).?, - else => unreachable, - } + return JSC.Maybe(void){ + .err = JSC.Node.Syscall.Error.fromCode(errno, .kqueue), + }; } } else { @compileError("TODO: Pollable"); |