1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-08-05 08:10:15 +02:00

nice: execute program even when setpriority fails due to EACCES

* src/nice.c (perm_related_errno): New function.
(main): Use it, rather than testing only errno == EPERM.
* NEWS (Bug fixes): Mention it.
This commit is contained in:
Jim Meyering
2009-10-24 13:50:13 +02:00
parent 69fbfd400c
commit 501bf7b589
2 changed files with 12 additions and 1 deletions
+4
View File
@@ -13,6 +13,10 @@ GNU coreutils NEWS -*- outline -*-
This also affected sum, sha1sum, sha224sum, sha384sum and sha512sum.
[the bug dates back to the initial implementation]
nice -n -1 PROGRAM now runs PROGRAM even when its internal setpriority
call fails with errno == EACCES.
[the bug dates back to the initial implementation]
stat -f recognizes more file system types: afs, cifs, anon-inode FS,
btrfs, cgroupfs, cramfs-wend, debugfs, futexfs, hfs, inotifyfs, minux3,
nilfs, securityfs, selinux, xenfs
+8 -1
View File
@@ -86,6 +86,12 @@ With no COMMAND, print the current niceness. Nicenesses range from\n\
exit (status);
}
static bool
perm_related_errno (int err)
{
return err == EACCES || err == EPERM;
}
int
main (int argc, char **argv)
{
@@ -179,7 +185,8 @@ main (int argc, char **argv)
ok = (setpriority (PRIO_PROCESS, 0, current_niceness + adjustment) == 0);
#endif
if (!ok)
error (errno == EPERM ? 0 : EXIT_CANCELED, errno, _("cannot set niceness"));
error (perm_related_errno (errno) ? 0
: EXIT_CANCELED, errno, _("cannot set niceness"));
execvp (argv[i], &argv[i]);