svn commit: r268231 - head/sys/cddl/contrib/opensolaris/uts/common/dtrace
Pedro F. Giffuni
pfg at FreeBSD.org
Thu Jul 3 19:25:24 UTC 2014
Author: pfg
Date: Thu Jul 3 19:25:24 2014
New Revision: 268231
URL: http://svnweb.freebsd.org/changeset/base/268231
Log:
Merge from OpenSolaris (30-Jun-2009):
6851093 system drops to kmdb with anonymous dtrace probes + kmdb
This has no effect on FreeBSD (code is ifdef'ed) but is useful as
reference for future merges.
MFC after: 1 week
Modified:
head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
Modified: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c Thu Jul 3 19:07:37 2014 (r268230)
+++ head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c Thu Jul 3 19:25:24 2014 (r268231)
@@ -16750,7 +16750,7 @@ dtrace_open(struct cdev *dev, int oflags
if (state == NULL) {
#if defined(sun)
- if (--dtrace_opens == 0)
+ if (--dtrace_opens == 0 && dtrace_anon.dta_enabling == NULL)
(void) kdi_dtrace_set(KDI_DTSET_DTRACE_DEACTIVATE);
#else
--dtrace_opens;
@@ -16806,7 +16806,11 @@ dtrace_dtr(void *data)
ASSERT(dtrace_opens > 0);
#if defined(sun)
- if (--dtrace_opens == 0)
+ /*
+ * Only relinquish control of the kernel debugger interface when there
+ * are no consumers and no anonymous enablings.
+ */
+ if (--dtrace_opens == 0 && dtrace_anon.dta_enabling == NULL)
(void) kdi_dtrace_set(KDI_DTSET_DTRACE_DEACTIVATE);
#else
--dtrace_opens;
More information about the svn-src-head
mailing list