Applied, thank you
On Mon, Sep 29, 2025 at 1:59 PM Zuo An <[email protected]> wrote: > > Specifying a PID of 0 for the -p option of chrt would previously result > in a "number 0... not in range" error. Now, it means instead that the > calling process (i.e. chrt itself) should be operated on; this is to be > consistent with the behavior of util-linux's version of chrt: > > $ chrt -p 0 > pid 27644437's current scheduling policy: SCHED_OTHER > pid 27644437's current scheduling priority: 0 > > Note that the PID shown in the output is the actual value of getpid(). > > function old new delta > chrt_main 516 530 +14 > ------------------------------------------------------------------------------ > (add/remove: 0/0 grow/shrink: 1/0 up/down: 14/0) Total: 14 bytes > > Signed-off-by: Zuo An <[email protected]> > --- > util-linux/chrt.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/util-linux/chrt.c b/util-linux/chrt.c > index 51d08584e15c..a59f49fe61ea 100644 > --- a/util-linux/chrt.c > +++ b/util-linux/chrt.c > @@ -133,7 +133,14 @@ int chrt_main(int argc UNUSED_PARAM, char **argv) > pid_str = *argv; > } > /* else "-p PID", and *argv == NULL */ > - pid = xatoul_range(pid_str, 1, ((unsigned)(pid_t)ULONG_MAX) > >> 1); > + pid = xatoul_range(pid_str, 0, ((unsigned)(pid_t)ULONG_MAX) > >> 1); > + > + /* sched_{get,set}scheduler accept PID 0 to mean the calling > process, > + * but this is needed to display the actual PID like > util-linux's chrt > + */ > + if (pid == 0) { > + pid = getpid(); > + } > } else { > priority = *argv++; > if (!*argv) > -- > 2.51.0 > > _______________________________________________ > busybox mailing list > [email protected] > https://lists.busybox.net/mailman/listinfo/busybox _______________________________________________ busybox mailing list [email protected] https://lists.busybox.net/mailman/listinfo/busybox
