to the nice value for the calling process.
(A higher nice value means a low priority.)
Only the superuser may specify a negative increment,
or priority increase.
The range for nice values is described in
On success, the new nice value is returned (but see NOTES below).
On error, -1 is returned, and
is set appropriately.
The calling process attempted to increase its priority by
supplying a negative
but has insufficient privileges.
Under Linux the
capability is required.
(But see the discussion of the
resource limit in
SVr4, 4.3BSD, POSIX.1-2001.
However, the Linux and (g)libc
(earlier than glibc 2.2.4) return value is non-standard, see below.
SVr4 documents an additional
SUSv2 and POSIX.1-2001 specify that
should return the new nice value.
However, the Linux syscall and the
library function provided in older versions of (g)libc
(earlier than glibc 2.2.4) return 0 on success.
The new nice value can be found using
Since glibc 2.2.4,
is implemented as a library function that calls
to obtain the new nice value to be returned to the caller.
With this implementation,
a successful call can legitimately return -1.
To reliably detect an error, set
to 0 before the call, and check its value when