summaryrefslogtreecommitdiff
path: root/cpuload.pl
diff options
context:
space:
mode:
Diffstat (limited to 'cpuload.pl')
-rwxr-xr-xcpuload.pl15
1 files changed, 13 insertions, 2 deletions
diff --git a/cpuload.pl b/cpuload.pl
index efa3196..01a1ec0 100755
--- a/cpuload.pl
+++ b/cpuload.pl
@@ -116,10 +116,20 @@ sub get_load_average (@) {
return %load_average;
}
+sub wait_for_stats () {
+ sleep 1 until %STATS;
+ my $count;
+
+ do {
+ $count = %STATS;
+ sleep 2;
+ } until $count == %STATS;
+}
+
sub graph_stats ($$) {
my ($app, $colors) = @_;
- sleep 1 until %STATS;
+ wait_for_stats;
my $rects = {};
my %prev_stats;
@@ -130,7 +140,8 @@ sub graph_stats ($$) {
# Toggle CPUs
$SIG{USR1} = sub {
%STATS = ();
- sleep 1 until %STATS;
+ wait_for_stats;
+
$width = WIDTH / (keys %STATS) - 1;
$rect_bg->width(WIDTH);