diff options
Diffstat (limited to 'sys-utils/swapon.c')
-rw-r--r-- | sys-utils/swapon.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/sys-utils/swapon.c b/sys-utils/swapon.c index 561b1a967..32a3107fd 100644 --- a/sys-utils/swapon.c +++ b/sys-utils/swapon.c @@ -317,14 +317,13 @@ static int swap_reinitialize(const char *device, default: /* parent */ do { - if ((ret = waitpid(pid, &status, 0)) < 0 - && errno == EINTR) - continue; - else if (ret < 0) { - warn(_("waitpid failed")); - return -1; - } - } while (0); + ret = waitpid(pid, &status, 0); + } while (ret == -1 && errno == EINTR); + + if (ret < 0) { + warn(_("waitpid failed")); + return -1; + } /* mkswap returns: 0=suss, 1=error */ if (WIFEXITED(status) && WEXITSTATUS(status)==0) |