xref: /aosp_15_r20/external/musl/src/thread/pthread_setschedparam.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #include "pthread_impl.h"
2*c9945492SAndroid Build Coastguard Worker #include "lock.h"
3*c9945492SAndroid Build Coastguard Worker 
pthread_setschedparam(pthread_t t,int policy,const struct sched_param * param)4*c9945492SAndroid Build Coastguard Worker int pthread_setschedparam(pthread_t t, int policy, const struct sched_param *param)
5*c9945492SAndroid Build Coastguard Worker {
6*c9945492SAndroid Build Coastguard Worker 	int r;
7*c9945492SAndroid Build Coastguard Worker 	sigset_t set;
8*c9945492SAndroid Build Coastguard Worker 	__block_app_sigs(&set);
9*c9945492SAndroid Build Coastguard Worker 	LOCK(t->killlock);
10*c9945492SAndroid Build Coastguard Worker 	r = !t->tid ? ESRCH : -__syscall(SYS_sched_setscheduler, t->tid, policy, param);
11*c9945492SAndroid Build Coastguard Worker 	UNLOCK(t->killlock);
12*c9945492SAndroid Build Coastguard Worker 	__restore_sigs(&set);
13*c9945492SAndroid Build Coastguard Worker 	return r;
14*c9945492SAndroid Build Coastguard Worker }
15