summaryrefslogtreecommitdiff
path: root/src/thread/thrd_sleep.c
blob: e8dfe400cb701f7ae470b192ec04c495a7bfbb18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <threads.h>
#include <errno.h>
#include "syscall.h"

int thrd_sleep(const struct timespec *req, struct timespec *rem)
{
	int ret = __syscall(SYS_nanosleep, req, rem);
	switch (ret) {
	case 0:      return 0;
	case -EINTR: return -1; /* value specified by C11 */
	default:     return -2;
	}
}