diff --git a/pidof-show-worker-threads.patch b/pidof-show-worker-threads.patch new file mode 100644 index 0000000..229204b --- /dev/null +++ b/pidof-show-worker-threads.patch @@ -0,0 +1,41 @@ +diff --git a/pidof.c b/pidof.c +index b0d08cc..90ecb13 100644 +--- a/pidof.c ++++ b/pidof.c +@@ -142,6 +142,7 @@ static void select_procs (void) + static int size = 0; + char *cmd_arg0, *cmd_arg0base; + char *cmd_arg1, *cmd_arg1base; ++ char *stat_cmd; + char *program_base; + char *root_link; + char *exe_link; +@@ -167,9 +168,10 @@ static void select_procs (void) + } + } + +- if (!is_omitted(task.XXXID) && task.cmdline && *task.cmdline) { ++ if (!is_omitted(task.XXXID)) { + +- cmd_arg0 = *task.cmdline; ++ cmd_arg0 = (task.cmdline && *task.cmdline) ? *task.cmdline : "\0"; ++ stat_cmd = task.cmd ? task.cmd : "\0"; + + /* processes starting with '-' are login shells */ + if (*cmd_arg0 == '-') { +@@ -191,12 +193,14 @@ static void select_procs (void) + !strcmp(program_base, cmd_arg0) || + !strcmp(program, cmd_arg0) || + ++ !strcmp(program, stat_cmd) || ++ + !strcmp(program, exe_link_base) || + !strcmp(program, exe_link)) + { + match = 1; + +- } else if (opt_scripts_too && *(task.cmdline+1)) { ++ } else if (opt_scripts_too && task.cmdline && *(task.cmdline+1)) { + + cmd_arg1 = *(task.cmdline+1); +