Hi,

As with sleep(3), usleep(3) is a wrapper around nanosleep(2).  I'd
prefer it if we always call nanosleep(), even when the input is zero.

This makes the code simpler, makes reasoning about behavior simpler,
and guarantees you get hit the ktrace for nanosleep if the program
calls usleep().

ok?

Index: usleep.c
===================================================================
RCS file: /cvs/src/lib/libc/gen/usleep.c,v
retrieving revision 1.10
diff -u -p -r1.10 usleep.c
--- usleep.c    8 Aug 2005 08:05:34 -0000       1.10
+++ usleep.c    2 Jul 2021 15:48:20 -0000
@@ -37,11 +37,8 @@ usleep(useconds_t useconds)
 {
        struct timespec rqt;
 
-       if (useconds == 0)
-               return(0);
-
        rqt.tv_sec = useconds / 1000000;
        rqt.tv_nsec = (useconds % 1000000) * 1000;
 
-       return(nanosleep(&rqt, NULL));
+       return nanosleep(&rqt, NULL);
 }

Reply via email to