mirror of https://github.com/xzeldon/htop.git
Catch invalid IO values due to no permissions.
Display them properly. Not fully convinced of the "no perm" message...
This commit is contained in:
parent
baec4bdcb0
commit
797bcd0961
|
@ -335,7 +335,10 @@ void Process_outputRate(RichString* str, char* buffer, int n, double rate, int c
|
||||||
largeNumberColor = CRT_colors[PROCESS];
|
largeNumberColor = CRT_colors[PROCESS];
|
||||||
processMegabytesColor = CRT_colors[PROCESS];
|
processMegabytesColor = CRT_colors[PROCESS];
|
||||||
}
|
}
|
||||||
if (rate < ONE_K) {
|
if (rate == -1) {
|
||||||
|
int len = snprintf(buffer, n, " no perm ");
|
||||||
|
RichString_appendn(str, CRT_colors[PROCESS_SHADOW], buffer, len);
|
||||||
|
} else if (rate < ONE_K) {
|
||||||
int len = snprintf(buffer, n, "%7.2f B/s ", rate);
|
int len = snprintf(buffer, n, "%7.2f B/s ", rate);
|
||||||
RichString_appendn(str, processColor, buffer, len);
|
RichString_appendn(str, processColor, buffer, len);
|
||||||
} else if (rate < ONE_K * ONE_K) {
|
} else if (rate < ONE_K * ONE_K) {
|
||||||
|
|
|
@ -313,7 +313,12 @@ void LinuxProcess_writeField(Process* this, RichString* str, ProcessField field)
|
||||||
case CNCLWB: Process_colorNumber(str, lp->io_cancelled_write_bytes, coloring); return;
|
case CNCLWB: Process_colorNumber(str, lp->io_cancelled_write_bytes, coloring); return;
|
||||||
case IO_READ_RATE: Process_outputRate(str, buffer, n, lp->io_rate_read_bps, coloring); return;
|
case IO_READ_RATE: Process_outputRate(str, buffer, n, lp->io_rate_read_bps, coloring); return;
|
||||||
case IO_WRITE_RATE: Process_outputRate(str, buffer, n, lp->io_rate_write_bps, coloring); return;
|
case IO_WRITE_RATE: Process_outputRate(str, buffer, n, lp->io_rate_write_bps, coloring); return;
|
||||||
case IO_RATE: Process_outputRate(str, buffer, n, lp->io_rate_read_bps + lp->io_rate_write_bps, coloring); return;
|
case IO_RATE: {
|
||||||
|
double totalRate = (lp->io_rate_read_bps != -1)
|
||||||
|
? (lp->io_rate_read_bps + lp->io_rate_write_bps)
|
||||||
|
: -1;
|
||||||
|
Process_outputRate(str, buffer, n, totalRate, coloring); return;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_OPENVZ
|
#ifdef HAVE_OPENVZ
|
||||||
case CTID: snprintf(buffer, n, "%7u ", lp->ctid); break;
|
case CTID: snprintf(buffer, n, "%7u ", lp->ctid); break;
|
||||||
|
|
Loading…
Reference in New Issue