mirror of
https://github.com/fluencelabs/musl
synced 2025-06-27 21:52:02 +00:00
linux's sched_* syscalls actually implement the TPS (thread scheduling) functionality, not the PS (process scheduling) functionality which the sched_* functions are supposed to have. omitting support for the PS option (and having the sched_* interfaces fail with ENOSYS rather than omitting them, since some broken software assumes they exist) seems to be the only conforming way to do this on linux.
11 lines
214 B
C
11 lines
214 B
C
#include "pthread_impl.h"
|
|
|
|
int pthread_setschedprio(pthread_t t, int prio)
|
|
{
|
|
int r;
|
|
__lock(t->killlock);
|
|
r = t->dead ? ESRCH : -__syscall(SYS_sched_setparam, t->tid, &prio);
|
|
__unlock(t->killlock);
|
|
return r;
|
|
}
|