LibC: Implement usleep()
This is not a POSIX function, but some ports seem to be using it either way
This commit is contained in:
		
							parent
							
								
									3651306f57
								
							
						
					
					
						commit
						e7a06979ec
					
				|  | @ -185,6 +185,12 @@ __BEGIN_DECLS | |||
| #endif | ||||
| #undef __need_uid_t | ||||
| 
 | ||||
| #if !defined(__useconds_t_defined) && (defined(__need_all_types) || defined(__need_useconds_t)) | ||||
| 	#define __useconds_t_defined 1 | ||||
| 	typedef unsigned long useconds_t; | ||||
| #endif | ||||
| #undef __need_useconds_t | ||||
| 
 | ||||
| #ifdef __need_all_types | ||||
| 	#include <stdint.h> | ||||
| #endif | ||||
|  |  | |||
|  | @ -101,6 +101,7 @@ __BEGIN_DECLS | |||
| #define __need_gid_t | ||||
| #define __need_off_t | ||||
| #define __need_pid_t | ||||
| #define __need_useconds_t | ||||
| #include <sys/types.h> | ||||
| 
 | ||||
| // FIXME: _CS prefixed definitions
 | ||||
|  | @ -206,6 +207,7 @@ char*				ttyname(int fildes); | |||
| int					ttyname_r(int fildes, char* name, size_t namesize); | ||||
| int					unlink(const char* path); | ||||
| int					unlinkat(int fd, const char* path, int flag); | ||||
| int					usleep(useconds_t usec); | ||||
| ssize_t				write(int fildes, const void* buf, size_t nbyte); | ||||
| 
 | ||||
| extern char*	optarg; | ||||
|  |  | |||
|  | @ -280,6 +280,14 @@ unsigned int sleep(unsigned int seconds) | |||
| 	return ret; | ||||
| } | ||||
| 
 | ||||
| int usleep(useconds_t usec) | ||||
| { | ||||
| 	timespec ts; | ||||
| 	ts.tv_sec = usec / 1'000'000; | ||||
| 	ts.tv_nsec = (usec % 1'000'000) * 1000; | ||||
| 	return nanosleep(&ts, nullptr); | ||||
| } | ||||
| 
 | ||||
| char* getcwd(char* buf, size_t size) | ||||
| { | ||||
| 	if (size == 0) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue