Mercurial > illumos > illumos-gate
changeset 9998:5f6596ec3328
6851093 system drops to kmdb with anonymous dtrace probes + kmdb
author | Jonathan Haslam <Jonathan.Haslam@Sun.COM> |
---|---|
date | Tue, 30 Jun 2009 07:41:21 +0100 |
parents | 174d75a29a1c |
children | d5e89571de4e |
files | usr/src/uts/common/dtrace/dtrace.c |
diffstat | 1 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/uts/common/dtrace/dtrace.c Mon Jun 29 22:20:35 2009 -0700 +++ b/usr/src/uts/common/dtrace/dtrace.c Tue Jun 30 07:41:21 2009 +0100 @@ -14482,7 +14482,7 @@ mutex_exit(&cpu_lock); if (state == NULL) { - if (--dtrace_opens == 0) + if (--dtrace_opens == 0 && dtrace_anon.dta_enabling == NULL) (void) kdi_dtrace_set(KDI_DTSET_DTRACE_DEACTIVATE); mutex_exit(&dtrace_lock); return (EAGAIN); @@ -14518,7 +14518,12 @@ dtrace_state_destroy(state); ASSERT(dtrace_opens > 0); - 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); mutex_exit(&dtrace_lock);