mirror of
https://github.com/coreutils/coreutils.git
synced 2024-11-24 10:23:31 +08: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:
parent
69fbfd400c
commit
501bf7b589
4
NEWS
4
NEWS
@ -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
|
||||
|
@ -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]);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user