summaryrefslogtreecommitdiffstats
path: root/linux
diff options
context:
space:
mode:
authorChristian Göttsche <cgzones@googlemail.com>2021-08-28 17:57:43 +0200
committerBenBE <BenBE@geshi.org>2021-09-02 08:03:21 +0200
commit0afd0fe572567266a87f6fd315184c105efad5e2 (patch)
tree2b7be6939d95db59e03a5c569ce07748a00d2a42 /linux
parentff336b652ccdcfee7d94bf513b15b7e263ceef55 (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.
Diffstat (limited to 'linux')
-rw-r--r--linux/LinuxProcess.c12
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) {

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