This is the mail archive of the libc-hacker@sourceware.org mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi! POSIX documents EPERM for nice if nice argument (INCR) is negative and the process doesn't have enough priviledges to boost the process. But, setpriority that is used by nice internally uses EACCES for the same thing (reserving EPERM for when trying to set priority of other process not owned by the same owner). So I guess we should translate it like this: 2006-08-09 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/nice.c (nice): Transform EACCES errno from setpriority to EPERM. --- libc/sysdeps/unix/nice.c.jj 2002-09-28 21:13:13.000000000 +0200 +++ libc/sysdeps/unix/nice.c 2006-08-09 16:56:42.000000000 +0200 @@ -1,4 +1,5 @@ -/* Copyright (C) 1992, 1996, 1997, 2001, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1996, 1997, 2001, 2002, 2006 + Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,9 +43,11 @@ nice (int incr) } result = setpriority (PRIO_PROCESS, 0, prio + incr); - if (result != -1) - return getpriority (PRIO_PROCESS, 0); - else - return -1; - + if (result == -1) + { + if (errno == EACCES) + errno = EPERM; + return -1; + } + return getpriority (PRIO_PROCESS, 0); } Jakub
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |