summaryrefslogtreecommitdiff
path: root/src/time/clock_getcpuclockid.c
blob: bce1e8ab290134e1a915c693e37fa63c536f7515 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <time.h>
#include <errno.h>
#include <unistd.h>
#include "syscall.h"

int clock_getcpuclockid(pid_t pid, clockid_t *clk)
{
	struct timespec ts;
	clockid_t id = (-pid-1)*8U + 2;
	int ret = __syscall(SYS_clock_getres, id, &ts);
	if (ret == -EINVAL) ret = -ESRCH;
	if (ret) return -ret;
	*clk = id;
	return 0;
}