Note that the routine is documented in SUSv2 and POSIX 1003.1-2003 to return the
new nice value, while the Linux syscall and (g)libc (earlier than glibc 2.2.4)
routines return 0 on success. The new nice value can be found using
getpriority(2). Note that an implementation in which nice
returns the new nice value can legitimately return -1. To reliably detect an
error, set errno to 0 before the call, and check its value when
nice returns -1.