diff --git a/src/detection/processes/processes_haiku.c b/src/detection/processes/processes_haiku.c index 484a32119..feecc34e5 100644 --- a/src/detection/processes/processes_haiku.c +++ b/src/detection/processes/processes_haiku.c @@ -2,7 +2,7 @@ #include -const char* ffDetectProcesses(const FFProcessesOptions*, FFProcessesResult* result) { +const char* ffDetectProcesses(const FFProcessesOptions* options, FFProcessesResult* result) { system_info info; if (get_system_info(&info) != B_OK) { return "Error getting system info"; @@ -11,5 +11,13 @@ const char* ffDetectProcesses(const FFProcessesOptions*, FFProcessesResult* resu result->processes = info.used_teams; result->threads = info.used_threads; + if (!options->countKprocs) { + team_info ti; + if (get_team_info(B_SYSTEM_TEAM, &ti) == B_OK) { + result->processes--; + result->threads -= (uint32_t) ti.thread_count; + } + } + return nullptr; }