From ce27f8379d143d64ab6a7787fdf38cb864e18edd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= Date: Sun, 8 Aug 2021 16:04:26 +0200 Subject: Respect "Show custom thread names" setting update Update merged command-line when started with "Show custom thread names" disabled and enabling at runtime. Also only consider showThreadNames when working on userland threads. --- linux/LinuxProcessList.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'linux/LinuxProcessList.c') diff --git a/linux/LinuxProcessList.c b/linux/LinuxProcessList.c index 3ad4e2f0..cd218ceb 100644 --- a/linux/LinuxProcessList.c +++ b/linux/LinuxProcessList.c @@ -1223,7 +1223,7 @@ static bool LinuxProcessList_readCmdlineFile(Process* process, openat_arg_t proc if ((amtRead = xReadfileat(procFd, "comm", command, sizeof(command))) > 0) { command[amtRead - 1] = '\0'; Process_updateComm(process, command); - } else if (process->procComm) { + } else { Process_updateComm(process, NULL); } @@ -1543,18 +1543,15 @@ static bool LinuxProcessList_recurseProcTree(LinuxProcessList* this, openat_arg_ LinuxProcessList_readAutogroup(lp, procFd); } - if (proc->state == 'Z' && !proc->cmdline && statCommand[0]) { + if (!proc->cmdline && statCommand[0] && + (proc->state == 'Z' || Process_isKernelThread(proc) || settings->showThreadNames)) { Process_updateCmdline(proc, statCommand, 0, strlen(statCommand)); - } else if (Process_isThread(proc)) { - if ((settings->showThreadNames || Process_isKernelThread(proc)) && statCommand[0]) { - Process_updateCmdline(proc, statCommand, 0, strlen(statCommand)); - } + } - if (Process_isKernelThread(proc)) { - pl->kernelThreads++; - } else { - pl->userlandThreads++; - } + if (Process_isKernelThread(proc)) { + pl->kernelThreads++; + } else if (Process_isUserlandThread(proc)) { + pl->userlandThreads++; } /* Set at the end when we know if a new entry is a thread */ -- cgit v1.2.3