]> granicus.if.org Git - procps-ng/commitdiff
ps: restore thread display when using a pidlist option
authorJim Warner <james.warner@comcast.net>
Wed, 30 Mar 2022 17:00:00 +0000 (12:00 -0500)
committerCraig Small <csmall@dropbear.xyz>
Fri, 1 Apr 2022 06:13:25 +0000 (17:13 +1100)
This commit will once again display threads when using
the -L option along with any of those pidlist options.

Reference(s):
https://gitlab.com/procps-ng/procps/-/issues/234

Signed-off-by: Jim Warner <james.warner@comcast.net>
ps/display.c

index 75c7d9264263055dfc87340f211e94b2b75c2f9f..2e1cc665c7f5ed89deaf0d0b8c4470cfa6077676 100644 (file)
@@ -289,9 +289,12 @@ static void simple_spew(void){
   // -q option (only single SEL_PID_QUICK typecode entry expected in the list, if present)
   if (selection_list && selection_list->typecode == SEL_PID_QUICK) {
     unsigned *pidlist = xcalloc(selection_list->n, sizeof(unsigned));
+    enum pids_select_type which;
     for (i = 0; i < selection_list->n; i++)
       pidlist[i] = selection_list->u[selection_list->n-i-1].pid;
-    pidread = procps_pids_select(Pids_info, pidlist, selection_list->n, PIDS_SELECT_PID);
+    which = (thread_flags & (TF_loose_tasks|TF_show_task))
+      ? PIDS_SELECT_PID_THREADS : PIDS_SELECT_PID;
+    pidread = procps_pids_select(Pids_info, pidlist, selection_list->n, which);
     free(pidlist);
   } else {
     enum pids_fetch_type which;