blob: e845bca325a4f2afb9c7df11805a622eb72f3cfc (
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
|
#include <unistd.h>
#include <errno.h>
#include <pthread.h>
#include "thread_internal.h"
int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy)
{
__THREAD_INIT();
if (policy==SCHED_OTHER) {
attr->__schedpolicy=policy;
return 0;
}
if ((policy==SCHED_FIFO) || (policy==SCHED_RR)) {
if (geteuid()==0) {
attr->__schedpolicy=policy;
return 0;
}
(*(__errno_location()))=ENOTSUP;
}
else
(*(__errno_location()))=EINVAL;
return -1;
}
|