X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fcpu.c;h=462a2fc86952730eb47c45d910d6810b88959e47;hb=dd51ec20a111ce967ec74d9d1fc805991dce3cba;hp=9f26db90d3fc4bf3ebd17f22f4e797aa67367bbf;hpb=86f55af0ce65d6c8600befee313c5da4315170f4;p=psensor.git diff --git a/src/lib/cpu.c b/src/lib/cpu.c index 9f26db9..462a2fc 100644 --- a/src/lib/cpu.c +++ b/src/lib/cpu.c @@ -26,7 +26,6 @@ #include "cpu.h" -static glibtop_cpu *cpu; static float last_used; static float last_total; @@ -62,24 +61,22 @@ cpu_psensor_list_add(struct psensor **sensors, int measures_len) static double get_usage() { + glibtop_cpu cpu; unsigned long int used = 0; unsigned long int dt; double cpu_rate = UNKNOWN_DBL_VALUE; - if (!cpu) - cpu = malloc(sizeof(glibtop_cpu)); + glibtop_get_cpu(&cpu); - glibtop_get_cpu(cpu); + used = cpu.user + cpu.nice + cpu.sys; - used = cpu->user + cpu->nice + cpu->sys; - - dt = cpu->total - last_total; + dt = cpu.total - last_total; if (dt) cpu_rate = 100 * (used - last_used) / dt; last_used = used; - last_total = cpu->total; + last_total = cpu.total; return cpu_rate; } @@ -104,9 +101,3 @@ void cpu_psensor_list_update(struct psensor **sensors) ss++; } } - -void cpu_cleanup() -{ - if (cpu) - free(cpu); -}