diff options
| -rw-r--r-- | lib/libc/gen/usleep.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/libc/gen/usleep.c b/lib/libc/gen/usleep.c index 3a0dee174ca7..ebb90c42c758 100644 --- a/lib/libc/gen/usleep.c +++ b/lib/libc/gen/usleep.c @@ -69,9 +69,9 @@ usleep(useconds) do { (void)nanosleep(&time_to_sleep, &time_remaining); time_to_sleep = time_remaining; - } while (!errno || errno == EINTR || - time_to_sleep.tv_sec != 0 || - time_to_sleep.tv_nsec != 0); + } while ((!errno || errno == EINTR) && + (time_to_sleep.tv_sec != 0 || + time_to_sleep.tv_nsec != 0)); } #else struct timespec time_to_sleep; @@ -122,8 +122,8 @@ usleep(useconds) &omask); time_to_sleep = time_remaining; } while (!alarm_termination && - (!errno || errno == EINTR || - time_to_sleep.tv_sec != 0 || + (!errno || errno == EINTR) && + (time_to_sleep.tv_sec != 0 || time_to_sleep.tv_nsec != 0)); if (!alarm_blocked) { |
