From b957f30379a9d85f2088612dd54cde671b6f1f9d Mon Sep 17 00:00:00 2001 From: Søren Sandmann Pedersen Date: Sun, 21 Mar 2010 12:12:42 -0400 Subject: Really disable hardware counters. --- collector.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/collector.c b/collector.c index 1c7af11..7eef464 100644 --- a/collector.c +++ b/collector.c @@ -406,7 +406,7 @@ counter_new (Collector *collector, attr.task = 1; attr.exclude_idle = 1; - if ((fd = sysprof_perf_counter_open (&attr, -1, cpu, -1, 0)) < 0) + if (!collector->use_hw_counters || (fd = sysprof_perf_counter_open (&attr, -1, cpu, -1, 0)) < 0) { attr.type = PERF_TYPE_SOFTWARE; attr.config = PERF_COUNT_SW_CPU_CLOCK; @@ -417,7 +417,7 @@ counter_new (Collector *collector, if (fd < 0) return fail (err, "Could not open performance counter"); - + counter->collector = collector; counter->fd = fd; @@ -431,8 +431,9 @@ counter_new (Collector *collector, counter->cpu = cpu; fd_add_watch (fd, counter); + fd_set_read_callback (fd, on_read); - + return counter; } -- cgit v1.2.3