diff options
author | Peter Wemm <peter@FreeBSD.org> | 1997-05-17 11:40:58 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 1997-05-17 11:40:58 +0000 |
commit | fa0f63238b1f83a7db798df9271bcb5be1233e36 (patch) | |
tree | abf3e7a44c3f5d10272d37af414734aba5eb6963 /lib/libc/gen/usleep.c | |
parent | e3c1328e9f993fbaa8dbac3eafda465ac604552b (diff) |
Allow conditional use (add -DUSE_NANOSLEEP) to CFLAGS of nanosleep() for
the backend of sleep(3) and usleep(3). It's off by default until the
problem is fixed.
Notes
Notes:
svn path=/head/; revision=25862
Diffstat (limited to 'lib/libc/gen/usleep.c')
-rw-r--r-- | lib/libc/gen/usleep.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/lib/libc/gen/usleep.c b/lib/libc/gen/usleep.c index 9aece6f8377e..b5effd43bcc8 100644 --- a/lib/libc/gen/usleep.c +++ b/lib/libc/gen/usleep.c @@ -41,7 +41,9 @@ static char sccsid[] = "@(#)usleep.c 8.1 (Berkeley) 6/4/93"; #ifdef _THREAD_SAFE #include <pthread.h> #include "pthread_private.h" -#else +#endif + +#if !defined(_THREAD_SAFE) && !defined(USE_NANOSLEEP) #define TICK 10000 /* system clock resolution in microseconds */ #define USPS 1000000 /* number of microseconds in a second */ @@ -49,6 +51,12 @@ static char sccsid[] = "@(#)usleep.c 8.1 (Berkeley) 6/4/93"; vec.sv_handler = a; vec.sv_mask = vec.sv_onstack = 0 static int ringring; + +static void +sleephandler() +{ + ringring = 1; +} #endif @@ -57,13 +65,13 @@ usleep(useconds) unsigned int useconds; { #ifdef _THREAD_SAFE - struct timespec time_to_sleep; + struct timespec time_to_sleep; - if (useconds) { - time_to_sleep.tv_nsec = (useconds % 1000000) * 1000; - time_to_sleep.tv_sec = useconds / 1000000; - nanosleep(&time_to_sleep,NULL); - } + if (useconds) { + time_to_sleep.tv_nsec = (useconds % 1000000) * 1000; + time_to_sleep.tv_sec = useconds / 1000000; + nanosleep(&time_to_sleep, NULL); + } #else register struct itimerval *itp; struct itimerval itv, oitv; @@ -106,11 +114,3 @@ usleep(useconds) (void) setitimer(ITIMER_REAL, &oitv, (struct itimerval *)0); #endif } - -#ifndef _THREAD_SAFE -static void -sleephandler() -{ - ringring = 1; -} -#endif |