From: FRIGN Date: Thu, 11 Aug 2016 19:20:07 +0000 (+0200) Subject: _exit() instead of exit() after failed exec X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=e8914d5d4bedb12bccf78a930b34b1564b3dbaac;p=sent.git _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. --- diff --git a/sent.c b/sent.c index f6c57fb..a4d0cd2 100644 --- 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(errno)); + _exit(1); } close(fds[1]); return fds[0];