From 58ad020aca933de5f1e975ccba041ff720261926 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= Date: Fri, 19 Mar 2021 19:54:29 +0100 Subject: ProcessList: fix treeview on OpenBSD when hiding kernel threads Currently the tree-view is empty on OpenBSD when kernel threads are hidden, cause the kernel thread 'swapper' has pid 0 and gets treated as root of the tree and parent of 'init'. Do not build any tree with a pid 0 root node. --- ProcessList.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'ProcessList.c') diff --git a/ProcessList.c b/ProcessList.c index 37c40bcf..cd8ebd8a 100644 --- a/ProcessList.c +++ b/ProcessList.c @@ -311,6 +311,11 @@ static void ProcessList_updateTreeSet(ProcessList* this) { } static void ProcessList_buildTreeBranch(ProcessList* this, pid_t pid, int level, int indent, int direction, bool show, int* node_counter, int* node_index) { + // On OpenBSD the kernel thread 'swapper' has pid 0. + // Do not treat it as root of any tree. + if (pid == 0) + return; + Vector* children = Vector_new(Class(Process), false, DEFAULT_SIZE); for (int i = Vector_size(this->processes) - 1; i >= 0; i--) { -- cgit v1.2.3