From e53296f88952dcc6a9343dea53a4aa911f9a9c87 Mon Sep 17 00:00:00 2001 From: Alexander Monakov Date: Mon, 5 Feb 2018 17:38:37 +0300 Subject: re-fix child reaping in wordexp Do not retry waitpid if the child was terminated by a signal. Do not examine status: since we are not passing any flags, we will not receive stop or continue notifications. --- src/misc/wordexp.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/misc/wordexp.c b/src/misc/wordexp.c index db39b5b8..d123cf75 100644 --- a/src/misc/wordexp.c +++ b/src/misc/wordexp.c @@ -14,13 +14,7 @@ static void reap(pid_t pid) { int status; - for (;;) { - if (waitpid(pid, &status, 0) < 0) { - if (errno != EINTR) return; - } else { - if (WIFEXITED(status)) return; - } - } + while (waitpid(pid, &status, 0) < 0 && errno == EINTR); } static char *getword(FILE *f) -- cgit v1.2.1