summaryrefslogtreecommitdiffstats
path: root/sys/dev/hwpmc
diff options
context:
space:
mode:
authorjkoshy <jkoshy@FreeBSD.org>2006-03-18 03:54:07 +0000
committerjkoshy <jkoshy@FreeBSD.org>2006-03-18 03:54:07 +0000
commitba6139a8973b2c3d88c6c2c6d826ef6b295ce058 (patch)
treef44126e6811767af14ea557d3372666a657c805a /sys/dev/hwpmc
parentebdf4c5109f42bb8c17794618cab6bcdd373ed7f (diff)
downloadFreeBSD-src-ba6139a8973b2c3d88c6c2c6d826ef6b295ce058.zip
FreeBSD-src-ba6139a8973b2c3d88c6c2c6d826ef6b295ce058.tar.gz
When deconfiguring a log, only stop PMCs that are in the RUNNING
state.
Diffstat (limited to 'sys/dev/hwpmc')
-rw-r--r--sys/dev/hwpmc/hwpmc_mod.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/hwpmc/hwpmc_mod.c b/sys/dev/hwpmc/hwpmc_mod.c
index 2a950de..0b6f72d 100644
--- a/sys/dev/hwpmc/hwpmc_mod.c
+++ b/sys/dev/hwpmc/hwpmc_mod.c
@@ -2439,7 +2439,8 @@ pmc_syscall_handler(struct thread *td, void *syscall_args)
error = pmclog_flush(po);
if (error == 0) {
LIST_FOREACH(pm, &po->po_pmcs, pm_next)
- if (pm->pm_flags & PMC_F_NEEDS_LOGFILE)
+ if (pm->pm_flags & PMC_F_NEEDS_LOGFILE &&
+ pm->pm_state == PMC_STATE_RUNNING)
pmc_stop(pm);
error = pmclog_deconfigure_log(po);
}
OpenPOWER on IntegriCloud