summaryrefslogtreecommitdiffstats
path: root/ProcessList.c
diff options
context:
space:
mode:
authorDaniel Lange <DLange@git.local>2020-11-16 12:17:28 +0100
committerDaniel Lange <DLange@git.local>2020-11-16 12:55:32 +0100
commit8f2d129dcebe1e6aad1eb2d7147204d056e41619 (patch)
tree3e56e0ab848dadf208ffb886de1558100748e983 /ProcessList.c
parent0951090fa45255cd0ae0df907240868c31689014 (diff)
Apply patch from BenBE as per https://github.com/htop-dev/htop/pull/241#issuecomment-720081138
Diffstat (limited to 'ProcessList.c')
-rw-r--r--ProcessList.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/ProcessList.c b/ProcessList.c
index a88c1e7b..8c3f6403 100644
--- a/ProcessList.c
+++ b/ProcessList.c
@@ -29,7 +29,6 @@ ProcessList* ProcessList_init(ProcessList* this, const ObjectClass* klass, Users
this->cpuCount = 0;
this->scanTs = 0;
- this->firstScanTs = 0;
#ifdef HAVE_LIBHWLOC
this->topologyOk = false;
@@ -91,12 +90,8 @@ void ProcessList_add(ProcessList* this, Process* p) {
assert(Hashtable_get(this->processTable, p->pid) == NULL);
p->processList = this;
- if (this->scanTs == this->firstScanTs) {
- // prevent highlighting processes found in first scan
- p->seenTs = this->firstScanTs - this->settings->highlightDelaySecs - 1;
- } else {
- p->seenTs = this->scanTs;
- }
+ // highlighting processes found in first scan by first scan marked "far in the past"
+ p->seenTs = this->scanTs;
Vector_add(this->processes, p);
Hashtable_put(this->processTable, p->pid, p);
@@ -339,10 +334,11 @@ void ProcessList_scan(ProcessList* this, bool pauseProcessUpdate) {
// set scanTs
- if (clock_gettime(CLOCK_MONOTONIC, &now) == 0) {
- if (this->firstScanTs == 0) {
- this->firstScanTs = now.tv_sec;
- }
+ static bool firstScanDone = false;
+ if (!firstScanDone) {
+ this->scanTs = 0;
+ firstScanDone = true;
+ } else if (clock_gettime(CLOCK_MONOTONIC, &now) == 0) {
this->scanTs = now.tv_sec;
}

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