Lines Matching refs:dtp
142 dt_proc_bpmatch(dtrace_hdl_t *dtp, dt_proc_t *dpr) in dt_proc_bpmatch() argument
167 dbp->dbp_func(dtp, dpr, dbp->dbp_data); in dt_proc_bpmatch()
206 dt_proc_notify(dtrace_hdl_t *dtp, dt_proc_hash_t *dph, dt_proc_t *dpr, in dt_proc_notify() argument
209 dt_proc_notify_t *dprn = dt_alloc(dtp, sizeof (dt_proc_notify_t)); in dt_proc_notify()
266 dt_proc_bpmain(dtrace_hdl_t *dtp, dt_proc_t *dpr, const char *fname) in dt_proc_bpmain() argument
273 dt_proc_rdevent(dtrace_hdl_t *dtp, dt_proc_t *dpr, const char *evname) in dt_proc_rdevent() argument
293 if (dt_pid_create_probes_module(dtp, dpr) != 0) in dt_proc_rdevent()
294 dt_proc_notify(dtp, dtp->dt_procs, dpr, in dt_proc_rdevent()
390 dtrace_hdl_t *dtp = datap->dpcd_hdl; in dt_proc_control() local
392 dt_proc_hash_t *dph = dtp->dt_procs; in dt_proc_control()
467 dt_proc_bpmatch(dtp, dpr); in dt_proc_control()
517 dt_proc_notify(dtp, dph, dpr, NULL); in dt_proc_control()
538 dt_proc_error(dtrace_hdl_t *dtp, dt_proc_t *dpr, const char *format, ...) in dt_proc_error() argument
543 dt_set_errmsg(dtp, NULL, NULL, NULL, 0, format, ap); in dt_proc_error()
549 dt_free(dtp, dpr); in dt_proc_error()
550 (void) dt_set_errno(dtp, EDT_COMPILER); in dt_proc_error()
555 dt_proc_lookup(dtrace_hdl_t *dtp, struct ps_prochandle *P, int remove) in dt_proc_lookup() argument
557 dt_proc_hash_t *dph = dtp->dt_procs; in dt_proc_lookup()
578 dt_proc_destroy(dtrace_hdl_t *dtp, struct ps_prochandle *P) in dt_proc_destroy() argument
580 dt_proc_t *dpr = dt_proc_lookup(dtp, P, B_FALSE); in dt_proc_destroy()
581 dt_proc_hash_t *dph = dtp->dt_procs; in dt_proc_destroy()
639 (void) dt_proc_lookup(dtp, P, B_TRUE); in dt_proc_destroy()
645 dt_free(dtp, npr); in dt_proc_destroy()
664 dt_free(dtp, dpr); in dt_proc_destroy()
668 dt_proc_create_thread(dtrace_hdl_t *dtp, dt_proc_t *dpr, uint_t stop) in dt_proc_create_thread() argument
685 data.dpcd_hdl = dtp; in dt_proc_create_thread()
743 dt_proc_create(dtrace_hdl_t *dtp, const char *file, char *const *argv, in dt_proc_create() argument
746 dt_proc_hash_t *dph = dtp->dt_procs; in dt_proc_create()
750 if ((dpr = dt_zalloc(dtp, sizeof (dt_proc_t))) == NULL) in dt_proc_create()
756 if ((err = proc_create(file, argv, dtp->dt_proc_env, pcf, child_arg, in dt_proc_create()
758 return (dt_proc_error(dtp, dpr, in dt_proc_create()
762 dpr->dpr_hdl = dtp; in dt_proc_create()
766 if (dt_proc_create_thread(dtp, dpr, dtp->dt_prcmode) != 0) in dt_proc_create()
780 dt_proc_grab(dtrace_hdl_t *dtp, pid_t pid, int flags, int nomonitor) in dt_proc_grab() argument
782 dt_proc_hash_t *dph = dtp->dt_procs; in dt_proc_grab()
816 if ((dpr = dt_zalloc(dtp, sizeof (dt_proc_t))) == NULL) in dt_proc_grab()
823 return (dt_proc_error(dtp, dpr, in dt_proc_grab()
827 dpr->dpr_hdl = dtp; in dt_proc_grab()
846 dt_proc_destroy(dtp, opr->dpr_proc); in dt_proc_grab()
858 } else if (dt_proc_create_thread(dtp, dpr, DT_PROC_STOP_GRAB) != 0) in dt_proc_grab()
872 dt_proc_release(dtrace_hdl_t *dtp, struct ps_prochandle *P) in dt_proc_release() argument
874 dt_proc_t *dpr = dt_proc_lookup(dtp, P, B_FALSE); in dt_proc_release()
875 dt_proc_hash_t *dph = dtp->dt_procs; in dt_proc_release()
882 dt_proc_destroy(dtp, P); in dt_proc_release()
886 dt_proc_continue(dtrace_hdl_t *dtp, struct ps_prochandle *P) in dt_proc_continue() argument
888 dt_proc_t *dpr = dt_proc_lookup(dtp, P, B_FALSE); in dt_proc_continue()
901 dt_proc_lock(dtrace_hdl_t *dtp, struct ps_prochandle *P) in dt_proc_lock() argument
903 dt_proc_t *dpr = dt_proc_lookup(dtp, P, B_FALSE); in dt_proc_lock()
909 dt_proc_unlock(dtrace_hdl_t *dtp, struct ps_prochandle *P) in dt_proc_unlock() argument
911 dt_proc_t *dpr = dt_proc_lookup(dtp, P, B_FALSE); in dt_proc_unlock()
917 dt_proc_init(dtrace_hdl_t *dtp) in dt_proc_init() argument
927 if ((dtp->dt_procs = dt_zalloc(dtp, sizeof (dt_proc_hash_t) + in dt_proc_init()
931 (void) pthread_mutex_init(&dtp->dt_procs->dph_lock, NULL); in dt_proc_init()
932 (void) pthread_cond_init(&dtp->dt_procs->dph_cv, NULL); in dt_proc_init()
934 dtp->dt_procs->dph_hashlen = _dtrace_pidbuckets; in dt_proc_init()
935 dtp->dt_procs->dph_lrulim = _dtrace_pidlrulim; in dt_proc_init()
945 if ((dtp->dt_proc_env = dt_zalloc(dtp, sizeof (char *) * i)) == NULL) in dt_proc_init()
949 if ((dtp->dt_proc_env[i] = strdup(*p)) == NULL) in dt_proc_init()
953 if ((dtp->dt_proc_env[i] = strdup(*p)) == NULL) in dt_proc_init()
961 dt_free(dtp, dtp->dt_proc_env[i]); in dt_proc_init()
963 dt_free(dtp, dtp->dt_proc_env); in dt_proc_init()
964 dtp->dt_proc_env = NULL; in dt_proc_init()
968 dt_proc_fini(dtrace_hdl_t *dtp) in dt_proc_fini() argument
970 dt_proc_hash_t *dph = dtp->dt_procs; in dt_proc_fini()
975 dt_proc_destroy(dtp, dpr->dpr_proc); in dt_proc_fini()
977 dtp->dt_procs = NULL; in dt_proc_fini()
978 dt_free(dtp, dph); in dt_proc_fini()
980 for (p = dtp->dt_proc_env; *p != NULL; p++) in dt_proc_fini()
981 dt_free(dtp, *p); in dt_proc_fini()
983 dt_free(dtp, dtp->dt_proc_env); in dt_proc_fini()
984 dtp->dt_proc_env = NULL; in dt_proc_fini()
988 dtrace_proc_create(dtrace_hdl_t *dtp, const char *file, char *const *argv, in dtrace_proc_create() argument
991 dt_ident_t *idp = dt_idhash_lookup(dtp->dt_macros, "target"); in dtrace_proc_create()
992 struct ps_prochandle *P = dt_proc_create(dtp, file, argv, pcf, child_arg); in dtrace_proc_create()
1002 dtrace_proc_grab(dtrace_hdl_t *dtp, pid_t pid, int flags) in dtrace_proc_grab() argument
1004 dt_ident_t *idp = dt_idhash_lookup(dtp->dt_macros, "target"); in dtrace_proc_grab()
1005 struct ps_prochandle *P = dt_proc_grab(dtp, pid, flags, 0); in dtrace_proc_grab()
1014 dtrace_proc_release(dtrace_hdl_t *dtp, struct ps_prochandle *P) in dtrace_proc_release() argument
1016 dt_proc_release(dtp, P); in dtrace_proc_release()
1020 dtrace_proc_continue(dtrace_hdl_t *dtp, struct ps_prochandle *P) in dtrace_proc_continue() argument
1022 dt_proc_continue(dtp, P); in dtrace_proc_continue()