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:
		
							
								
								
									
										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 | ||||||
		Reference in New Issue
	
	Block a user