1*c9945492SAndroid Build Coastguard Worker #include "pthread_impl.h" 2*c9945492SAndroid Build Coastguard Worker #include "lock.h" 3*c9945492SAndroid Build Coastguard Worker pthread_getschedparam(pthread_t t,int * restrict policy,struct sched_param * restrict param)4*c9945492SAndroid Build Coastguard Workerint pthread_getschedparam(pthread_t t, int *restrict policy, struct sched_param *restrict 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 if (!t->tid) { 11*c9945492SAndroid Build Coastguard Worker r = ESRCH; 12*c9945492SAndroid Build Coastguard Worker } else { 13*c9945492SAndroid Build Coastguard Worker r = -__syscall(SYS_sched_getparam, t->tid, param); 14*c9945492SAndroid Build Coastguard Worker if (!r) { 15*c9945492SAndroid Build Coastguard Worker *policy = __syscall(SYS_sched_getscheduler, t->tid); 16*c9945492SAndroid Build Coastguard Worker } 17*c9945492SAndroid Build Coastguard Worker } 18*c9945492SAndroid Build Coastguard Worker UNLOCK(t->killlock); 19*c9945492SAndroid Build Coastguard Worker __restore_sigs(&set); 20*c9945492SAndroid Build Coastguard Worker return r; 21*c9945492SAndroid Build Coastguard Worker } 22