diff options
| author | Alexey Kodanev <aleksei.kodanev@bell-sw.com> | 2021-06-29 16:31:30 +0300 | 
|---|---|---|
| committer | Rich Felker <dalias@aerifal.cx> | 2022-03-08 17:15:14 -0500 | 
| commit | 3aba2150d0efc80df30d7fc6c22d6041e14d445e (patch) | |
| tree | 3a419d0ed075b26521d99b34356fa12c7d660fca /src | |
| parent | 74a28a8af21977ebbc2945beb879f1b9b6ff13ba (diff) | |
| download | musl-3aba2150d0efc80df30d7fc6c22d6041e14d445e.tar.gz | |
nice: return EPERM instead of EACCES
To comply with POSIX, change errno from EACCES to EPERM
when the caller did not have the required privilege.
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; +	}  }  | 
