musl/src/thread/pthread_getschedparam.c
Rich Felker b17c75a4d5 fix syscall argument bug in pthread_getschedparam
the address of the pointer to the sched param, rather than the
pointer, was being passed to the kernel.
2013-06-26 22:02:23 -04:00

17 lines
360 B
C

#include "pthread_impl.h"
int pthread_getschedparam(pthread_t t, int *restrict policy, struct sched_param *restrict param)
{
int r;
__lock(t->killlock);
if (t->dead) {
r = ESRCH;
} else {
r = -__syscall(SYS_sched_getparam, t->tid, param);
if (!r) {
*policy = __syscall(SYS_sched_getscheduler, t->tid);
}
}
__unlock(t->killlock);
return r;
}