blob: 29ac8487fb0f7ea8508cb72f14cf9e30cd987cf6 (
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
|
#include <errno.h>
#include <limits.h>
#include <sys/resource.h>
#include <unistd.h>
int nice(int incr)
{
int priority = incr;
if (incr > NZERO * -2 && incr < NZERO * 2) {
priority += getpriority(PRIO_PROCESS, 0);
}
if (priority > NZERO - 1)
priority = NZERO - 1;
if (priority < -NZERO)
priority = -NZERO;
if (setpriority(PRIO_PROCESS, 0, priority)) {
if (errno == EACCES)
errno = EPERM;
return -1;
}
return priority;
}
|