#include #include #include #include int main() { struct sched_param param = { .sched_priority = 100, }; int policy = 0xDEADBEEF; int ret = pthread_getschedparam(pthread_self(), &policy, ¶m); assert(policy == SCHED_OTHER); assert(!ret); param.sched_priority = 10; ret = pthread_setschedparam(pthread_self(), SCHED_FIFO, ¶m); assert(!ret || ret == EPERM); if(ret == EPERM) { exit(0); } param.sched_priority = 0xDEADBEEF; ret = pthread_getschedparam(pthread_self(), &policy, ¶m); assert(policy == SCHED_FIFO); assert(param.sched_priority == 10); assert(!ret); }