diff --git a/miscutils/taskset.c b/miscutils/taskset.c index 6247aa869..bf98ea15d 100644 --- a/miscutils/taskset.c +++ b/miscutils/taskset.c @@ -50,6 +50,11 @@ int taskset_main(int argc ATTRIBUTE_UNUSED, char **argv) char *pid_str; char *aff = aff; /* for compiler */ + /* NB: we mimic util-linux's taskset: -p does not take + * an argument, i.e., "-pN" is NOT valid, only "-p N"! + * Indeed, util-linux-2.13-pre7 uses: + * getopt_long(argc, argv, "+pchV", ...), not "...p:..." */ + opt_complementary = "-1"; /* at least 1 arg */ opt_p = getopt32(argv, "+p"); argv += optind; diff --git a/testsuite/taskset.tests b/testsuite/taskset.tests index 6001c3e32..a3757ab5b 100755 --- a/testsuite/taskset.tests +++ b/testsuite/taskset.tests @@ -7,8 +7,8 @@ a="taskset" # testing "test name" "opts" "expected result" "file inp" "stdin" -testing "taskset (get from pid 1)" "$a -p1 >/dev/null;echo \$?" "0\n" "" "" -testing "taskset (invalid pid)" "$a -p0 >/dev/null 2>&1;echo \$?" "1\n" "" "" +testing "taskset (get from pid 1)" "$a -p 1 >/dev/null;echo \$?" "0\n" "" "" +testing "taskset (invalid pid)" "$a -p 0 >/dev/null 2>&1;echo \$?" "1\n" "" "" testing "taskset (set_aff, needs CAP_SYS_NICE)" \ "$a 0x1 $SHELL -c $a\ -p\ \$$\|grep\ \"current\ affinity\ mask:\ 1\" >/dev/null;echo \$?" \ "0\n" "" ""