diff options
author | multiplexd <multiplexd@users.noreply.github.com> | 2018-08-19 05:09:08 +0100 |
---|---|---|
committer | Hisham Muhammad <hisham@gobolinux.org> | 2018-08-19 01:09:08 -0300 |
commit | ca1cce4ce7a0d57ef5dffc76c44d9bfa533e7229 (patch) | |
tree | b42a83ed0427f626a5af63af319248ecdd3c8187 | |
parent | c1fb585b6b280d169d8b05cc66712794bac8b11f (diff) |
OpenBSD: make the STARTTIME column display correctly (#815)
-rw-r--r-- | openbsd/OpenBSDProcessList.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/openbsd/OpenBSDProcessList.c b/openbsd/OpenBSDProcessList.c index 14d9c2dc..e49cbd71 100644 --- a/openbsd/OpenBSDProcessList.c +++ b/openbsd/OpenBSDProcessList.c @@ -223,6 +223,8 @@ void ProcessList_goThroughEntries(ProcessList* this) { bool preExisting; Process* proc; OpenBSDProcess* fp; + struct tm date; + struct timeval tv; int count = 0; int i; @@ -232,6 +234,8 @@ void ProcessList_goThroughEntries(ProcessList* this) { struct kinfo_proc* kprocs = kvm_getprocs(opl->kd, KERN_PROC_ALL, 0, sizeof(struct kinfo_proc), &count); //struct kinfo_proc* kprocs = getprocs(KERN_PROC_ALL, 0, &count); + gettimeofday(&tv, NULL); + for (i = 0; i < count; i++) { kproc = &kprocs[i]; @@ -254,6 +258,8 @@ void ProcessList_goThroughEntries(ProcessList* this) { proc->user = UsersTable_getRef(this->usersTable, proc->st_uid); ProcessList_add((ProcessList*)this, proc); proc->comm = OpenBSDProcessList_readProcessName(opl->kd, kproc, &proc->basenameOffset); + (void) localtime_r((time_t*) &kproc->p_ustart_sec, &date); + strftime(proc->starttime_show, 7, ((proc->starttime_ctime > tv.tv_sec - 86400) ? "%R " : "%b%d "), &date); } else { if (settings->updateProcessNames) { free(proc->comm); |