OpenBSD: make the STARTTIME column display correctly (#815)

This commit is contained in:
multiplexd 2018-08-19 05:09:08 +01:00 committed by Hisham Muhammad
parent c1fb585b6b
commit ca1cce4ce7
1 changed files with 6 additions and 0 deletions

View File

@ -223,6 +223,8 @@ void ProcessList_goThroughEntries(ProcessList* this) {
bool preExisting; bool preExisting;
Process* proc; Process* proc;
OpenBSDProcess* fp; OpenBSDProcess* fp;
struct tm date;
struct timeval tv;
int count = 0; int count = 0;
int i; 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 = kvm_getprocs(opl->kd, KERN_PROC_ALL, 0, sizeof(struct kinfo_proc), &count);
//struct kinfo_proc* kprocs = getprocs(KERN_PROC_ALL, 0, &count); //struct kinfo_proc* kprocs = getprocs(KERN_PROC_ALL, 0, &count);
gettimeofday(&tv, NULL);
for (i = 0; i < count; i++) { for (i = 0; i < count; i++) {
kproc = &kprocs[i]; kproc = &kprocs[i];
@ -254,6 +258,8 @@ void ProcessList_goThroughEntries(ProcessList* this) {
proc->user = UsersTable_getRef(this->usersTable, proc->st_uid); proc->user = UsersTable_getRef(this->usersTable, proc->st_uid);
ProcessList_add((ProcessList*)this, proc); ProcessList_add((ProcessList*)this, proc);
proc->comm = OpenBSDProcessList_readProcessName(opl->kd, kproc, &proc->basenameOffset); 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 { } else {
if (settings->updateProcessNames) { if (settings->updateProcessNames) {
free(proc->comm); free(proc->comm);