|
Message-Id: <20210629133130.143543-1-aleksei.kodanev@bell-sw.com> Date: Tue, 29 Jun 2021 16:31:30 +0300 From: Alexey Kodanev <aleksei.kodanev@...l-sw.com> To: musl@...ts.openwall.com Cc: Alexey Kodanev <aleksei.kodanev@...l-sw.com> Subject: [PATCH] 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. --- src/unistd/nice.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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; + } } -- 2.25.1
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.