diff options
Diffstat (limited to 'e2fsprogs/fsck.c')
-rw-r--r-- | e2fsprogs/fsck.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/e2fsprogs/fsck.c b/e2fsprogs/fsck.c index fd4ea737c..f7e93497d 100644 --- a/e2fsprogs/fsck.c +++ b/e2fsprogs/fsck.c | |||
@@ -423,13 +423,11 @@ static int wait_one(int flags) | |||
423 | /* if (G.noexecute) { already returned -1; } */ | 423 | /* if (G.noexecute) { already returned -1; } */ |
424 | 424 | ||
425 | while (1) { | 425 | while (1) { |
426 | pid = waitpid(-1, &status, flags); | 426 | pid = safe_waitpid(-1, &status, flags); |
427 | kill_all_if_got_signal(); | 427 | kill_all_if_got_signal(); |
428 | if (pid == 0) /* flags == WNOHANG and no children exited */ | 428 | if (pid == 0) /* flags == WNOHANG and no children exited */ |
429 | return -1; | 429 | return -1; |
430 | if (pid < 0) { | 430 | if (pid < 0) { |
431 | if (errno == EINTR) | ||
432 | continue; | ||
433 | if (errno == ECHILD) { /* paranoia */ | 431 | if (errno == ECHILD) { /* paranoia */ |
434 | bb_simple_error_msg("wait: no more children"); | 432 | bb_simple_error_msg("wait: no more children"); |
435 | return -1; | 433 | return -1; |