X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/e1c5476291cf35693c072327cc5a0261983e1573..862d158b7c3f1bd138c00e1bd29de87d3fc89f15:/slstatus.c?ds=sidebyside diff --git a/slstatus.c b/slstatus.c index b593765..c92da0d 100644 --- a/slstatus.c +++ b/slstatus.c @@ -75,7 +75,7 @@ static void usage(void); char *argv0; char concat[]; -static unsigned short int delay; +static unsigned short int delay = 0; static unsigned short int done; static unsigned short int dflag, oflag; static Display *dpy; @@ -164,7 +164,7 @@ cpu_perc(void) fscanf(fp, "%*s %Lf %Lf %Lf %Lf", &a[0], &a[1], &a[2], &a[3]); fclose(fp); - delay = (UPDATE_INTERVAL - (UPDATE_INTERVAL - 1)); + delay++; sleep(delay); fp = fopen("/proc/stat", "r"); @@ -443,7 +443,7 @@ swap_free(void) buf[bytes_read] = '\0'; fclose(fp); if (bytes_read == 0 || bytes_read == sizeof(buf)) { - warn("Failed to read /proc/meminfo\n"); + warn("Failed to read from /proc/meminfo"); return smprintf(UNKNOWN_STR); } @@ -477,7 +477,7 @@ swap_perc(void) buf[bytes_read] = '\0'; fclose(fp); if (bytes_read == 0 || bytes_read == sizeof(buf)) { - warn("Failed to read /proc/meminfo\n"); + warn("Failed to read from /proc/meminfo"); return smprintf(UNKNOWN_STR); } @@ -514,7 +514,7 @@ swap_total(void) buf[bytes_read] = '\0'; fclose(fp); if (bytes_read == 0 || bytes_read == sizeof(buf)) { - warn("Failed to read /proc/meminfo\n"); + warn("Failed to read from /proc/meminfo"); return smprintf(UNKNOWN_STR); } @@ -545,7 +545,7 @@ swap_used(void) buf[bytes_read] = '\0'; fclose(fp); if (bytes_read == 0 || bytes_read == sizeof(buf)) { - warn("Failed to read /proc/meminfo\n"); + warn("Failed to read from /proc/meminfo"); return smprintf(UNKNOWN_STR); } @@ -829,8 +829,13 @@ main(int argc, char *argv[]) * subtract delay time spend in function * calls from the actual global delay time */ - sleep(UPDATE_INTERVAL - delay); - delay = 0; + if ((UPDATE_INTERVAL - delay) <= 0) { + delay = 0; + continue; + } else { + sleep(UPDATE_INTERVAL - delay); + delay = 0; + } } if (!oflag) {