_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.
This commit is contained in:
parent
cd10166b5e
commit
e8914d5d4b
3
sent.c
3
sent.c
@ -150,7 +150,8 @@ filter(int fd, const char *cmd)
|
|||||||
close(fds[0]);
|
close(fds[0]);
|
||||||
close(fds[1]);
|
close(fds[1]);
|
||||||
execlp("sh", "sh", "-c", cmd, (char *)0);
|
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]);
|
close(fds[1]);
|
||||||
return fds[0];
|
return fds[0];
|
||||||
|
Loading…
Reference in New Issue
Block a user