mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-18 12:29:32 +08:00
2006-06-05 Shaun Jackman <sjackman@gmail.com>
* libc/posix/Makefile.am (GENERAL_SOURCES): Add sleep.c and usleep.c. * libc/posix/Makefile.in: Regenerate. * libc/posix/sleep.c: New file. * libc/posix/usleep.c: Ditto.
This commit is contained in:
parent
c281fc320f
commit
9b15ac9054
22
newlib/libc/posix/sleep.c
Normal file
22
newlib/libc/posix/sleep.c
Normal file
@ -0,0 +1,22 @@
|
||||
/* libc/posix/sleep.c - sleep function */
|
||||
|
||||
/* Written 2000 by Werner Almesberger */
|
||||
|
||||
#ifdef HAVE_NANOSLEEP
|
||||
|
||||
#include <errno.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
unsigned sleep(unsigned seconds)
|
||||
{
|
||||
struct timespec ts;
|
||||
|
||||
ts.tv_sec = seconds;
|
||||
ts.tv_nsec = 0;
|
||||
if (!nanosleep(&ts,&ts)) return 0;
|
||||
if (errno == EINTR) return ts.tv_sec;
|
||||
return -1;
|
||||
}
|
||||
|
||||
#endif
|
22
newlib/libc/posix/usleep.c
Normal file
22
newlib/libc/posix/usleep.c
Normal file
@ -0,0 +1,22 @@
|
||||
/* libc/posix/usleep.c - usleep function */
|
||||
|
||||
/* Written 2002 by Jeff Johnston */
|
||||
|
||||
#ifdef HAVE_NANOSLEEP
|
||||
|
||||
#include <errno.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int usleep(useconds_t useconds)
|
||||
{
|
||||
struct timespec ts;
|
||||
|
||||
ts.tv_sec = (long int)useconds / 1000000;
|
||||
ts.tv_nsec = ((long int)useconds % 1000000) * 1000;
|
||||
if (!nanosleep(&ts,&ts)) return 0;
|
||||
if (errno == EINTR) return ts.tv_sec;
|
||||
return -1;
|
||||
}
|
||||
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user