diff options
| author | bmc <none@none> | 2005-09-19 22:42:24 -0700 |
|---|---|---|
| committer | bmc <none@none> | 2005-09-19 22:42:24 -0700 |
| commit | b365acd0c29cb0376af78f1f0662459a9d216641 (patch) | |
| tree | 8db07f6206bb218fb6ef151b66a0d6e547abcc4e /usr/src/lib/libdtrace/common | |
| parent | 52b2f68ad911d527af0cd3152af81e314ff9f0c1 (diff) | |
| download | illumos-joyent-b365acd0c29cb0376af78f1f0662459a9d216641.tar.gz | |
usr/src/lib/libdtrace/common/dt_options.c
usr/src/lib/libdtrace/common/dt_proc.c
usr/src/uts/intel/dtrace/fbt.c
Diffstat (limited to 'usr/src/lib/libdtrace/common')
| -rw-r--r-- | usr/src/lib/libdtrace/common/dt_options.c | 1 | ||||
| -rw-r--r-- | usr/src/lib/libdtrace/common/dt_proc.c | 8 |
2 files changed, 6 insertions, 3 deletions
diff --git a/usr/src/lib/libdtrace/common/dt_options.c b/usr/src/lib/libdtrace/common/dt_options.c index 1c776f5933..4f80e0966d 100644 --- a/usr/src/lib/libdtrace/common/dt_options.c +++ b/usr/src/lib/libdtrace/common/dt_options.c @@ -915,6 +915,7 @@ static const dt_option_t _dtrace_drtoptions[] = { { "rawbytes", dt_opt_runtime, DTRACEOPT_RAWBYTES }, { "stackindent", dt_opt_runtime, DTRACEOPT_STACKINDENT }, { "switchrate", dt_opt_rate, DTRACEOPT_SWITCHRATE }, + { NULL } }; int diff --git a/usr/src/lib/libdtrace/common/dt_proc.c b/usr/src/lib/libdtrace/common/dt_proc.c index ff5d4086ce..0402c60cf1 100644 --- a/usr/src/lib/libdtrace/common/dt_proc.c +++ b/usr/src/lib/libdtrace/common/dt_proc.c @@ -659,7 +659,7 @@ dt_proc_lookup(dtrace_hdl_t *dtp, struct ps_prochandle *P, int remove) static void dt_proc_destroy(dtrace_hdl_t *dtp, struct ps_prochandle *P) { - dt_proc_t *dpr = dt_proc_lookup(dtp, P, B_TRUE); + dt_proc_t *dpr = dt_proc_lookup(dtp, P, B_FALSE); dt_proc_hash_t *dph = dtp->dt_procs; dt_proc_t *npr, **npp; int rflag; @@ -715,10 +715,12 @@ dt_proc_destroy(dtrace_hdl_t *dtp, struct ps_prochandle *P) } /* - * Before we free the process structure, walk the dt_proc_hash_t's - * notification list and remove this dt_proc_t if it is enqueued. + * Before we free the process structure, remove this dt_proc_t from the + * lookup hash, and then walk the dt_proc_hash_t's notification list + * and remove this dt_proc_t if it is enqueued. */ (void) pthread_mutex_lock(&dph->dph_lock); + (void) dt_proc_lookup(dtp, P, B_TRUE); npp = &dph->dph_notify; for (npr = *npp; npr != NULL; npr = npr->dpr_notify) { |
