aboutsummaryrefslogtreecommitdiff
path: root/src/time/clock_getcpuclockid.c
blob: 0710a674d556bbd5a09d644668775c84bf68f7a9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#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;
}


#ifdef TEST
int
main(void) {
	return 0;
}
#endif