summaryrefslogtreecommitdiff
path: root/src/thread/pthread_getschedparam.c
blob: 3053c1865e0a1f1d2c6c8ea16d30ecdcddfb4a7d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#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;
}