1
0
Fork 0
mirror of https://repo.or.cz/socat.git synced 2025-07-19 17:32:57 +00:00

Socat exited with status 0 even when a program invoked with SYSTEM or EXEC failed

This commit is contained in:
Gerhard Rieger 2016-07-29 15:58:59 +02:00
parent 35a7817e48
commit 35590e3cdb
4 changed files with 91 additions and 7 deletions

View file

@ -130,12 +130,22 @@ void childdied(int signum) {
Info2("waitpid(): child %d exited with status %d",
pid, WEXITSTATUS(status));
} else {
Warn2("waitpid(): child %d exited with status %d",
pid, WEXITSTATUS(status));
if (i == XIO_MAXSOCK) {
Info2("waitpid(): child %d exited with status %d",
pid, WEXITSTATUS(status));
} else {
Error2("waitpid(): child %d exited with status %d",
pid, WEXITSTATUS(status));
}
}
} else if (WIFSIGNALED(status)) {
Info2("waitpid(): child %d exited on signal %d",
pid, WTERMSIG(status));
if (i == XIO_MAXSOCK) {
Info2("waitpid(): child %d exited on signal %d",
pid, WTERMSIG(status));
} else {
Error2("waitpid(): child %d exited on signal %d",
pid, WTERMSIG(status));
}
} else if (WIFSTOPPED(status)) {
Info2("waitpid(): child %d stopped on signal %d",
pid, WSTOPSIG(status));