blob: dde70fb820dee0ff3f6dc269b8dcc207ec7b52d5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#include <assert.h>
#include <errno.h>
#include <pthread.h>
#include <stdlib.h>
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);
}
|