summaryrefslogtreecommitdiffstats
path: root/lib/libdtrace/common/dt_pid.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libdtrace/common/dt_pid.c')
-rw-r--r--lib/libdtrace/common/dt_pid.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/libdtrace/common/dt_pid.c b/lib/libdtrace/common/dt_pid.c
index 6346329..cf9498b 100644
--- a/lib/libdtrace/common/dt_pid.c
+++ b/lib/libdtrace/common/dt_pid.c
@@ -667,7 +667,13 @@ dt_pid_create_probes(dtrace_probedesc_t *pdp, dtrace_hdl_t *dtp, dt_pcb_t *pcb)
assert(dpr != NULL);
(void) pthread_mutex_lock(&dpr->dpr_lock);
- err = dt_pid_create_pid_probes(pdp, dtp, pcb, dpr);
+ if ((err = dt_pid_create_pid_probes(pdp, dtp, pcb, dpr)) == 0) {
+ /*
+ * Alert other retained enablings which may match
+ * against the newly created probes.
+ */
+ (void) dt_ioctl(dtp, DTRACEIOC_ENABLE, NULL);
+ }
(void) pthread_mutex_unlock(&dpr->dpr_lock);
dt_proc_release(dtp, P);
OpenPOWER on IntegriCloud