Mercurial > hg > octave-lyh > gnulib-hg
changeset 2056:cf3d523888c5
*** empty log message ***
author | Jim Meyering <jim@meyering.net> |
---|---|
date | Sun, 26 Dec 1999 10:16:18 +0000 |
parents | 644068f5da98 |
children | 50da17269b1b |
files | lib/nanosleep.c |
diffstat | 1 files changed, 11 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/nanosleep.c +++ b/lib/nanosleep.c @@ -22,11 +22,15 @@ #include <sys/types.h> #include <signal.h> +#if HAVE_UNISTD_H +# include <unistd.h> +#endif + #include <time.h> /* FIXME: is including both like this kosher? */ #include <sys/time.h> -static interrupted; +static int suspended; /* Handle SIGCONT. */ @@ -51,12 +55,12 @@ /* Sleep for USEC microseconds. */ static void -usleep (const struct timespec *ts_delay) +my_usleep (const struct timespec *ts_delay) { struct timeval tv_delay; tv_delay.tv_sec = ts_delay->tv_sec; tv_delay.tv_usec = 1000 * ts_delay->tv_nsec; - select (0, (void *) 0, (void *) 0, (void *) 0, tv_delay); + select (0, (void *) 0, (void *) 0, (void *) 0, &tv_delay); } int @@ -67,7 +71,7 @@ struct sigaction oldact, newact; #endif - interrupted = 0; + suspended = 0; /* set up sig handler -- but maybe only do this the first time? */ #ifdef SA_INTERRUPT @@ -83,9 +87,9 @@ signal (SIGCONT, sighandler); #endif - usleep (requested_delay); + my_usleep (requested_delay); - if (interrupted) + if (suspended) { /* Calculate time remaining. */ /* FIXME: the code in sleep doesn't use this, so there's no @@ -94,5 +98,5 @@ /* FIXME: Restore sig handler? */ - return interrupted; + return suspended; }