blob: a0f10b8ad0ec908d2a63674b2e0abb7649324ec3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#include <syscall.h> // for __syscall_2, syscall
#include <time.h> // for clockid_t, clock_getcpuclockid, pid_t
int clock_getcpuclockid(pid_t pid, clockid_t *clock_id)
{
int ret;
clockid_t id;
struct timespec ts;
id = (clockid_t)((-pid - 1) * 8U + 2);
ret = syscall(clock_getres, id, &ts);
if (ret >= 0) {
*clock_id = id;
}
return ret;
}
|