diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/unistd/nice.c | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/src/unistd/nice.c b/src/unistd/nice.c index 6c25c8c3..1c2295ff 100644 --- a/src/unistd/nice.c +++ b/src/unistd/nice.c @@ -1,4 +1,5 @@  #include <unistd.h> +#include <errno.h>  #include <sys/resource.h>  #include <limits.h>  #include "syscall.h" @@ -12,5 +13,11 @@ int nice(int inc)  		prio += getpriority(PRIO_PROCESS, 0);  	if (prio > NZERO-1) prio = NZERO-1;  	if (prio < -NZERO) prio = -NZERO; -	return setpriority(PRIO_PROCESS, 0, prio) ? -1 : prio; +	if (setpriority(PRIO_PROCESS, 0, prio)) { +		if (errno == EACCES) +			errno = EPERM; +		return -1; +	} else { +		return prio; +	}  }  | 
