-
-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Signals not getting caught on Linux #14
Comments
It looks like this might be a node bug? (Or at least a node os difference that libuv doesn't handwave away.) On Linux, I see this error in the exec result:
But on OS X it looks like:
It looks like the child_process.exec function on Linux isn't doing the thing where exit codes >127 are interpreted as signal codes. |
Note that the exit code is 134, and:
|
It does work when sh is not in the way, though. Maybe this is an sh-vs-bash issue? |
Yes, indeed, using bash instead of sh makes this work as expected on Linux. Now to figure out why sh doesn't behave like bash here. :\ |
@isaacs interesting, it does seem like we have enough information that we can start to create a shim for |
I think this is something that signal-exit should probably transparently fix. |
Oh, I guess this isn't really a problem with signal-exit, but rather just with signal-exit's tests. Foreground-child is the one that gets most badly dinged by this, I guess. |
Fix tapjs#14 by avoiding Dash on Ubuntu systems. As it happens, this module was working just fine, but the exec shell was exiting in a way that didn't match the exit of its last job.
It looks like it's catching the signal, but then failing to un-hook itself and re-kill or something?
The text was updated successfully, but these errors were encountered: