Implemented nanosleep()
This commit is contained in:
@@ -30,6 +30,8 @@ struct tm {
|
|||||||
extern clock_t clock(void);
|
extern clock_t clock(void);
|
||||||
extern time_t time(time_t *p);
|
extern time_t time(time_t *p);
|
||||||
|
|
||||||
|
extern int nanosleep(const struct timespec *req, struct timespec *rem);
|
||||||
|
|
||||||
extern struct tm *gmtime(const time_t *timer);
|
extern struct tm *gmtime(const time_t *timer);
|
||||||
extern struct tm *localtime(const time_t *timer);
|
extern struct tm *localtime(const time_t *timer);
|
||||||
extern time_t mktime(struct tm *timeptr);
|
extern time_t mktime(struct tm *timeptr);
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
#include <magenta/types.h>
|
#include <magenta/types.h>
|
||||||
|
#include <magenta/misc.h>
|
||||||
#include <magenta/errors.h>
|
#include <magenta/errors.h>
|
||||||
#include <magenta/clock.h>
|
#include <magenta/clock.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
clock_t __sys_clock(void)
|
clock_t __sys_clock(void)
|
||||||
{
|
{
|
||||||
@@ -19,6 +21,17 @@ time_t __sys_time(void)
|
|||||||
return v.sec;
|
return v.sec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int nanosleep(const struct timespec *req, struct timespec *rem)
|
||||||
|
{
|
||||||
|
if (!req) {
|
||||||
|
__set_errno(EFAULT);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
mx_nanosleep(mx_deadline_after(MX_SEC(req->tv_sec) + MX_NSEC(req->tv_nsec)));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int __sys_clock_getres(clockid_t clk_id, struct timespec *res)
|
int __sys_clock_getres(clockid_t clk_id, struct timespec *res)
|
||||||
{
|
{
|
||||||
mx_time_val_t v;
|
mx_time_val_t v;
|
||||||
|
|||||||
Reference in New Issue
Block a user