123456789101112131415161718192021 |
- #include "pthread_impl.h"
- #include "lock.h"
- int pthread_getschedparam(pthread_t t, int *restrict policy, struct sched_param *restrict param)
- {
- int r;
- sigset_t set;
- __block_app_sigs(&set);
- LOCK(t->killlock);
- if (!t->tid) {
- r = ESRCH;
- } else {
- r = -__syscall(SYS_sched_getparam, t->tid, param);
- if (!r) {
- *policy = __syscall(SYS_sched_getscheduler, t->tid);
- }
- }
- UNLOCK(t->killlock);
- __restore_sigs(&set);
- return r;
- }
|