]> err.no Git - util-linux/commitdiff
schedutils: fix chrt docs and pid=0 usage
authorMatthias Koenig <mkoenig@suse.de>
Mon, 16 Jul 2007 11:10:59 +0000 (13:10 +0200)
committerKarel Zak <kzak@redhat.com>
Mon, 16 Jul 2007 13:12:36 +0000 (15:12 +0200)
Fix some documentation bugs for chrt.
Make it work with PID 0, which means current process.

Signed-off-by: Matthias Koenig <mkoenig@suse.de>
schedutils/chrt.1
schedutils/chrt.c

index effa19033527783d191a44f293679b5ce0b7a0ac..01f7650cf5d712d39400b6e3c2e781a2827402fd 100644 (file)
@@ -79,13 +79,13 @@ output version information and exit
 .SH USAGE
 .TP
 The default behavior is to run a new command::
-chrt [prio] [command] [arguments]
+chrt prio command [arguments]
 .TP
 You can also retrieve the real-time attributes of an existing task:
-chrt -p [pid]
+chrt -p pid
 .TP
 Or set them:
-chrt -p [prio] [pid]
+chrt -p prio pid
 .SH PERMISSIONS
 A user must possess
 .BR CAP_SYS_NICE
index 02ff3809c07a69677f4cb548839ddabd596c3587..30892d8bc5cba05ec73711bebaa8147a2511ca3e 100644 (file)
@@ -46,7 +46,7 @@ static void show_usage(const char *cmd)
        fprintf(stderr, "  -b, --batch                        "
                        "set policy to SCHED_BATCH\n");
        fprintf(stderr, "  -f, --fifo                         "
-                       "set policy to SCHED_FF\n");
+                       "set policy to SCHED_FIFO\n");
        fprintf(stderr, "  -p, --pid                          "
                        "operate on existing given pid\n");
        fprintf(stderr, "  -m, --max                          "
@@ -146,7 +146,7 @@ int main(int argc, char *argv[])
 {
        int i, policy = SCHED_RR, priority = 0, verbose = 0;
        struct sched_param sp;
-       pid_t pid = 0;
+       pid_t pid = -1;
 
        struct option longopts[] = {
                { "batch",      0, NULL, 'b' },
@@ -205,12 +205,12 @@ int main(int argc, char *argv[])
                
        }
 
-       if ((pid && argc - optind < 1) || (!pid && argc - optind < 2)) {
+       if (((pid > -1) && argc - optind < 1) || ((pid == -1) && argc - optind < 2)) {
                show_usage(argv[0]);
                return 1;
        }
 
-       if (pid && (verbose || argc - optind == 1)) {
+       if ((pid > -1) && (verbose || argc - optind == 1)) {
                show_rt_info("current", pid);
                if (argc - optind == 1)
                        return 0;
@@ -224,6 +224,8 @@ int main(int argc, char *argv[])
                return 1;
        }
 
+       if (pid == -1)
+               pid = 0;
        sp.sched_priority = priority;
        if (sched_setscheduler(pid, policy, &sp) == -1) {
                perror("sched_setscheduler");