4 #include "pthread_impl.h"
7 int sched_setaffinity(pid_t tid
, size_t size
, const cpu_set_t
*set
)
9 return syscall(SYS_sched_setaffinity
, tid
, size
, set
);
12 int pthread_setaffinity_np(pthread_t td
, size_t size
, const cpu_set_t
*set
)
14 return -__syscall(SYS_sched_setaffinity
, td
->tid
, size
, set
);
17 static int do_getaffinity(pid_t tid
, size_t size
, cpu_set_t
*set
)
19 long ret
= __syscall(SYS_sched_getaffinity
, tid
, size
, set
);
20 if (ret
< 0) return ret
;
21 if (ret
< size
) memset((char *)set
+ret
, 0, size
-ret
);
25 int sched_getaffinity(pid_t tid
, size_t size
, cpu_set_t
*set
)
27 return __syscall_ret(do_getaffinity(tid
, size
, set
));
30 int pthread_getaffinity_np(pthread_t td
, size_t size
, cpu_set_t
*set
)
32 return -do_getaffinity(td
->tid
, size
, set
);