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
|
#endif
|
||||||
#undef __need_uid_t
|
#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
|
#ifdef __need_all_types
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -101,6 +101,7 @@ __BEGIN_DECLS
|
||||||
#define __need_gid_t
|
#define __need_gid_t
|
||||||
#define __need_off_t
|
#define __need_off_t
|
||||||
#define __need_pid_t
|
#define __need_pid_t
|
||||||
|
#define __need_useconds_t
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
// FIXME: _CS prefixed definitions
|
// FIXME: _CS prefixed definitions
|
||||||
|
@ -206,6 +207,7 @@ char* ttyname(int fildes);
|
||||||
int ttyname_r(int fildes, char* name, size_t namesize);
|
int ttyname_r(int fildes, char* name, size_t namesize);
|
||||||
int unlink(const char* path);
|
int unlink(const char* path);
|
||||||
int unlinkat(int fd, const char* path, int flag);
|
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);
|
ssize_t write(int fildes, const void* buf, size_t nbyte);
|
||||||
|
|
||||||
extern char* optarg;
|
extern char* optarg;
|
||||||
|
|
|
@ -280,6 +280,14 @@ unsigned int sleep(unsigned int seconds)
|
||||||
return ret;
|
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)
|
char* getcwd(char* buf, size_t size)
|
||||||
{
|
{
|
||||||
if (size == 0)
|
if (size == 0)
|
||||||
|
|
Loading…
Reference in New Issue