_exit() instead of exit() after failed exec - sent - simple plaintext presentat… | |
git clone git://git.suckless.org/sent | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit e8914d5d4bedb12bccf78a930b34b1564b3dbaac | |
parent cd10166b5eccac1b8cf510a7c97544d1697fbd09 | |
Author: FRIGN <[email protected]> | |
Date: Thu, 11 Aug 2016 21:20:07 +0200 | |
_exit() instead of exit() after failed exec | |
die() calls exit(), but actually at this point the program could be in a | |
state not allowing this. It's better to call _exit to stop the libc from | |
calling any handlers that might fail at this moment anyway. | |
Diffstat: | |
M sent.c | 3 ++- | |
1 file changed, 2 insertions(+), 1 deletion(-) | |
--- | |
diff --git a/sent.c b/sent.c | |
@@ -150,7 +150,8 @@ filter(int fd, const char *cmd) | |
close(fds[0]); | |
close(fds[1]); | |
execlp("sh", "sh", "-c", cmd, (char *)0); | |
- die("sent: execlp sh -c '%s':", cmd); | |
+ fprintf(stderr, "sent: execlp sh -c '%s': %s\n", cmd, strerror… | |
+ _exit(1); | |
} | |
close(fds[1]); | |
return fds[0]; |