diff options
author | Christian Göttsche <cgzones@googlemail.com> | 2021-01-27 15:11:54 +0100 |
---|---|---|
committer | BenBE <BenBE@geshi.org> | 2021-01-30 14:21:26 +0100 |
commit | 399add39ca380c6b97bf45685e041a8dca3bf0b4 (patch) | |
tree | 40aa7bad9b0f4e398cb82c82122a07592c6e1b74 /freebsd | |
parent | 56c4055fd18e34728938b6a9185178ac6df4f3bb (diff) |
FreeBSD: simplify kernel thread logic
Diffstat (limited to 'freebsd')
-rw-r--r-- | freebsd/FreeBSDProcess.c | 8 | ||||
-rw-r--r-- | freebsd/FreeBSDProcess.h | 4 | ||||
-rw-r--r-- | freebsd/FreeBSDProcessList.c | 6 |
3 files changed, 4 insertions, 14 deletions
diff --git a/freebsd/FreeBSDProcess.c b/freebsd/FreeBSDProcess.c index 76c4cf8b..2e1c384a 100644 --- a/freebsd/FreeBSDProcess.c +++ b/freebsd/FreeBSDProcess.c @@ -110,13 +110,7 @@ static int FreeBSDProcess_compareByKey(const Process* v1, const Process* v2, Pro } bool Process_isThread(const Process* this) { - const FreeBSDProcess* fp = (const FreeBSDProcess*) this; - - if (fp->kernel == 1 ) { - return 1; - } else { - return Process_isUserlandThread(this); - } + return Process_isKernelThread(this) || Process_isUserlandThread(this); } const ProcessClass FreeBSDProcess_class = { diff --git a/freebsd/FreeBSDProcess.h b/freebsd/FreeBSDProcess.h index 6bf2c93d..750e485e 100644 --- a/freebsd/FreeBSDProcess.h +++ b/freebsd/FreeBSDProcess.h @@ -20,14 +20,14 @@ extern const char* const nodevStr; typedef struct FreeBSDProcess_ { Process super; - int kernel; + bool isKernelThread; int jid; char* jname; const char* ttyPath; } FreeBSDProcess; static inline bool Process_isKernelThread(const Process* this) { - return ((const FreeBSDProcess*)this)->kernel == 1; + return ((const FreeBSDProcess*)this)->isKernelThread; } static inline bool Process_isUserlandThread(const Process* this) { diff --git a/freebsd/FreeBSDProcessList.c b/freebsd/FreeBSDProcessList.c index b53b8d52..6341470d 100644 --- a/freebsd/FreeBSDProcessList.c +++ b/freebsd/FreeBSDProcessList.c @@ -485,11 +485,7 @@ void ProcessList_goThroughEntries(ProcessList* super, bool pauseProcessUpdate) { if (!preExisting) { fp->jid = kproc->ki_jid; proc->pid = kproc->ki_pid; - if ( ! ((kproc->ki_pid == 0) || (kproc->ki_pid == 1) ) && kproc->ki_flag & P_SYSTEM) { - fp->kernel = 1; - } else { - fp->kernel = 0; - } + fp->isKernelThread = kproc->ki_pid != 0 && kproc->ki_pid != 1 && (kproc->ki_flag & P_SYSTEM); proc->ppid = kproc->ki_ppid; proc->tpgid = kproc->ki_tpgid; proc->tgid = kproc->ki_pid; |