From 43d09e79db91110e7ca09610efd0b62fce453b47 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 5 Apr 2019 16:59:07 +0200 Subject: chrt: fix for SCHED_RESET_ON_FORK bit Signed-off-by: Denys Vlasenko --- util-linux/chrt.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/util-linux/chrt.c b/util-linux/chrt.c index ede9231..4dd78da 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) ); -- cgit v1.1