From 2b4000b8572694fac64d61b2e43a083d3bbe0846 Mon Sep 17 00:00:00 2001 From: 0xJoeMama <0xjoemama@gmail.com> Date: Tue, 24 May 2022 15:42:59 +0300 Subject: [PATCH] Added a check for filter kernel mode --- src/linux/btop_collect.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/linux/btop_collect.cpp b/src/linux/btop_collect.cpp index 95c4b92..7a0fe8b 100644 --- a/src/linux/btop_collect.cpp +++ b/src/linux/btop_collect.cpp @@ -16,7 +16,7 @@ indent = tab tab-size = 4 */ -#include "robin_hood.h" +#include #include #include #include @@ -1274,6 +1274,7 @@ namespace Proc { latest_clear_time++; } + //* Generate process tree list void _tree_gen(proc_info& cur_proc, vector& in_procs, vector>& out_procs, int cur_depth, const bool collapsed, const string& filter, bool found=false, const bool no_update=false, const bool should_filter=false) { auto cur_pos = out_procs.size(); @@ -1467,8 +1468,11 @@ namespace Proc { //* ---------------------------------------------Collection start---------------------------------------------- else { should_filter = true; + // First make sure kernel proc cache is cleared. - clear_kernel_cache(); + if (should_filter_kernel) { + clear_kernel_cache(); + } auto totalMem = Mem::get_totalMem(); int totalMem_len = to_string(totalMem >> 10).size(); @@ -1519,6 +1523,7 @@ namespace Proc { if (should_filter_kernel && (pid == KTHREADD || kernels_procs.contains(pid))) { continue; } + found.push_back(pid); //? Check if pid already exists in current_procs