diff options
author | Christian Göttsche <cgzones@googlemail.com> | 2021-08-28 17:57:43 +0200 |
---|---|---|
committer | BenBE <BenBE@geshi.org> | 2021-09-02 08:03:21 +0200 |
commit | 0afd0fe572567266a87f6fd315184c105efad5e2 (patch) | |
tree | 2b7be6939d95db59e03a5c569ce07748a00d2a42 | |
parent | ff336b652ccdcfee7d94bf513b15b7e263ceef55 (diff) |
linux: color void delay accounting values gray
Use the color gray, similar to other process fields, if the delay
accounting value is either 0 (or very small) or cannot be accessed, e.g.
by an unprivileged user.
-rw-r--r-- | linux/LinuxProcess.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/linux/LinuxProcess.c b/linux/LinuxProcess.c index e5c5e83b..9434a1ed 100644 --- a/linux/LinuxProcess.c +++ b/linux/LinuxProcess.c @@ -190,11 +190,15 @@ bool LinuxProcess_changeAutogroupPriorityBy(Process* this, Arg delta) { } #ifdef HAVE_DELAYACCT -static void LinuxProcess_printDelay(float delay_percent, char* buffer, int n) { +static void LinuxProcess_printDelay(float delay_percent, char* buffer, int n, int* attr) { if (isnan(delay_percent)) { xSnprintf(buffer, n, " N/A "); + *attr = CRT_colors[PROCESS_SHADOW]; } else { xSnprintf(buffer, n, "%4.1f ", delay_percent); + if (delay_percent < 0.05) { + *attr = CRT_colors[PROCESS_SHADOW]; + } } } #endif @@ -277,9 +281,9 @@ static void LinuxProcess_writeField(const Process* this, RichString* str, Proces break; } #ifdef HAVE_DELAYACCT - case PERCENT_CPU_DELAY: LinuxProcess_printDelay(lp->cpu_delay_percent, buffer, n); break; - case PERCENT_IO_DELAY: LinuxProcess_printDelay(lp->blkio_delay_percent, buffer, n); break; - case PERCENT_SWAP_DELAY: LinuxProcess_printDelay(lp->swapin_delay_percent, buffer, n); break; + case PERCENT_CPU_DELAY: LinuxProcess_printDelay(lp->cpu_delay_percent, buffer, n, &attr); break; + case PERCENT_IO_DELAY: LinuxProcess_printDelay(lp->blkio_delay_percent, buffer, n, &attr); break; + case PERCENT_SWAP_DELAY: LinuxProcess_printDelay(lp->swapin_delay_percent, buffer, n, &attr); break; #endif case CTXT: if (lp->ctxt_diff > 1000) { |