From 7224d0e0831ee53d5028915f87dffd51ffa0d6fa Mon Sep 17 00:00:00 2001 From: Benny Baumann Date: Sat, 10 Apr 2021 14:08:26 +0200 Subject: Move kernel/userland thread handling to platform-independent implementation --- freebsd/FreeBSDProcess.c | 4 ---- freebsd/FreeBSDProcess.h | 11 ----------- freebsd/FreeBSDProcessList.c | 3 ++- 3 files changed, 2 insertions(+), 16 deletions(-) (limited to 'freebsd') diff --git a/freebsd/FreeBSDProcess.c b/freebsd/FreeBSDProcess.c index 3a016562..2370b9f0 100644 --- a/freebsd/FreeBSDProcess.c +++ b/freebsd/FreeBSDProcess.c @@ -96,10 +96,6 @@ static int FreeBSDProcess_compareByKey(const Process* v1, const Process* v2, Pro } } -bool Process_isThread(const Process* this) { - return Process_isKernelThread(this) || Process_isUserlandThread(this); -} - const ProcessClass FreeBSDProcess_class = { .super = { .extends = Class(Process), diff --git a/freebsd/FreeBSDProcess.h b/freebsd/FreeBSDProcess.h index 5b6b4c66..0e0bd59f 100644 --- a/freebsd/FreeBSDProcess.h +++ b/freebsd/FreeBSDProcess.h @@ -16,19 +16,10 @@ in the source distribution for its full text. typedef struct FreeBSDProcess_ { Process super; - bool isKernelThread; int jid; char* jname; } FreeBSDProcess; -static inline bool Process_isKernelThread(const Process* this) { - return ((const FreeBSDProcess*)this)->isKernelThread; -} - -static inline bool Process_isUserlandThread(const Process* this) { - return this->pid != this->tgid; -} - extern const ProcessClass FreeBSDProcess_class; extern const ProcessFieldData Process_fields[LAST_PROCESSFIELD]; @@ -37,6 +28,4 @@ Process* FreeBSDProcess_new(const Settings* settings); void Process_delete(Object* cast); -bool Process_isThread(const Process* this); - #endif diff --git a/freebsd/FreeBSDProcessList.c b/freebsd/FreeBSDProcessList.c index 601072c8..8222bad4 100644 --- a/freebsd/FreeBSDProcessList.c +++ b/freebsd/FreeBSDProcessList.c @@ -456,7 +456,8 @@ void ProcessList_goThroughEntries(ProcessList* super, bool pauseProcessUpdate) { if (!preExisting) { fp->jid = kproc->ki_jid; proc->pid = kproc->ki_pid; - fp->isKernelThread = kproc->ki_pid != 0 && kproc->ki_pid != 1 && (kproc->ki_flag & P_SYSTEM); + proc->isKernelThread = kproc->ki_pid != 0 && kproc->ki_pid != 1 && (kproc->ki_flag & P_SYSTEM); + proc->isUserlandThread = false; proc->ppid = kproc->ki_ppid; proc->tpgid = kproc->ki_tpgid; proc->tgid = kproc->ki_pid; -- cgit v1.2.3