From: Denys Vlasenko Date: Fri, 5 Apr 2019 14:59:07 +0000 (+0200) Subject: chrt: fix for SCHED_RESET_ON_FORK bit X-Git-Tag: 1_31_0~121 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=43d09e79db91110e7ca09610efd0b62fce453b47;p=oweals%2Fbusybox.git chrt: fix for SCHED_RESET_ON_FORK bit Signed-off-by: Denys Vlasenko --- diff --git a/util-linux/chrt.c b/util-linux/chrt.c index ede92310f..4dd78dabf 100644 --- a/util-linux/chrt.c +++ b/util-linux/chrt.c @@ -135,6 +135,17 @@ int chrt_main(int argc UNUSED_PARAM, char **argv) pol = sched_getscheduler(pid); if (pol < 0) bb_perror_msg_and_die("can't %cet pid %u's policy", 'g', (int)pid); +#ifdef SCHED_RESET_ON_FORK + /* "Since Linux 2.6.32, the SCHED_RESET_ON_FORK flag + * can be ORed in policy when calling sched_setscheduler(). + * As a result of including this flag, children created by + * fork(2) do not inherit privileged scheduling policies" + * + * This bit is also returned by sched_getscheduler()! + * (TODO: do we want to show it?) + */ + pol &= ~SCHED_RESET_ON_FORK; +#endif printf("pid %u's %s scheduling policy: SCHED_%s\n", pid, current_new, policy_name(pol) );