diff options
author | Nathan Scott <nathans@redhat.com> | 2020-08-20 14:24:11 +1000 |
---|---|---|
committer | Nathan Scott <nathans@redhat.com> | 2020-08-20 14:24:11 +1000 |
commit | ab61ae3963e7181f382cd5240d4a2a928b8b5f82 (patch) | |
tree | ce03e1f8f744fa69fe0248c1cfb9db931dd39ee6 | |
parent | f4b00673399920fc5ceeff8a002bcc16f747eecc (diff) | |
parent | 87c05ac136ac31647282009f474b6f62b1cc0a17 (diff) |
Merge branch 'hishamhm-pull-974'
-rw-r--r-- | freebsd/FreeBSDProcessList.c | 8 |
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++; |