die() calls vfprintf(3) and exit(3), which are not
async-signal-safe. If SIGCHLD is handled while exiting, this
can make st hang or crash.
Commit d6ea0a1 replaced exit(3) by _exit(2) in sigchld()
but the error paths still call die(). Fix that by using
_exit(2) there as well.
58 KiB
58 KiB