Lines Matching refs:mp
46 rtld_init(fmd_module_t *mp)
51 if ((dlp = dlopen(mp->mod_path, RTLD_LOCAL | RTLD_NOW)) == NULL) {
56 rp = mp->mod_data = fmd_alloc(sizeof (fmd_rtld_t), FMD_SLEEP);
68 (void) pthread_mutex_unlock(&mp->mod_lock);
74 if (fmd_module_enter(mp, rp->rtld_init) != 0 && mp->mod_info != NULL)
75 fmd_hdl_unregister((fmd_hdl_t *)mp);
77 fmd_module_exit(mp);
78 (void) pthread_mutex_lock(&mp->mod_lock);
80 if (mp->mod_info == NULL) {
90 rtld_fini(fmd_module_t *mp)
92 fmd_rtld_t *rp = mp->mod_data;
95 if (mp->mod_info != NULL) {
96 (void) fmd_module_enter(mp, rp->rtld_fini);
98 if (mp->mod_info != NULL) {
99 fmd_module_lock(mp);
100 fmd_module_unregister(mp);
101 fmd_module_unlock(mp);
104 fmd_module_exit(mp);