forked from Bananymous/banan-os
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