22 lines
437 B
C
22 lines
437 B
C
#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;
|
|
}
|