summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Scott <nathans@redhat.com>2020-08-20 14:24:11 +1000
committerNathan Scott <nathans@redhat.com>2020-08-20 14:24:11 +1000
commitab61ae3963e7181f382cd5240d4a2a928b8b5f82 (patch)
treece03e1f8f744fa69fe0248c1cfb9db931dd39ee6
parentf4b00673399920fc5ceeff8a002bcc16f747eecc (diff)
parent87c05ac136ac31647282009f474b6f62b1cc0a17 (diff)
Merge branch 'hishamhm-pull-974'
-rw-r--r--freebsd/FreeBSDProcessList.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/freebsd/FreeBSDProcessList.c b/freebsd/FreeBSDProcessList.c
index 0c8d028f..ac5603fb 100644
--- a/freebsd/FreeBSDProcessList.c
+++ b/freebsd/FreeBSDProcessList.c
@@ -18,6 +18,7 @@ in the source distribution for its full text.
#include <fcntl.h>
#include <limits.h>
#include <string.h>
+#include <time.h>
/*{
@@ -444,10 +445,14 @@ void ProcessList_goThroughEntries(ProcessList* this) {
int count = 0;
struct kinfo_proc* kprocs = kvm_getprocs(fpl->kd, KERN_PROC_PROC, 0, &count);
+ struct timeval tv;
+ gettimeofday(&tv, NULL);
+
for (int i = 0; i < count; i++) {
struct kinfo_proc* kproc = &kprocs[i];
bool preExisting = false;
bool isIdleProcess = false;
+ struct tm date;
Process* proc = ProcessList_getProcess(this, kproc->ki_pid, &preExisting, (Process_New) FreeBSDProcess_new);
FreeBSDProcess* fp = (FreeBSDProcess*) proc;
@@ -538,6 +543,9 @@ void ProcessList_goThroughEntries(ProcessList* this) {
this->kernelThreads++;
}
+ (void) localtime_r((time_t*) &proc->starttime_ctime, &date);
+ strftime(proc->starttime_show, 7, ((proc->starttime_ctime > tv.tv_sec - 86400) ? "%R " : "%b%d "), &date);
+
this->totalTasks++;
if (proc->state == 'R')
this->runningTasks++;

© 2014-2024 Faster IT GmbH | imprint | privacy policy