Lines Matching refs:sdp

307 	evch_subd_t *sdp;  in evch_zonefree()  local
327 while ((sdp = evch_dl_next(&chp->ch_subscr, NULL)) != NULL) { in evch_zonefree()
333 ASSERT(sdp->sd_active == 0); in evch_zonefree()
334 ASSERT((sdp->sd_persist & EVCH_SUB_KEEP) != 0); in evch_zonefree()
338 evch_evq_unsub(chp->ch_queue, sdp->sd_msub); in evch_zonefree()
341 evch_evq_unsub(sdp->sd_queue, sdp->sd_ssub); in evch_zonefree()
342 evch_evq_destroy(sdp->sd_queue); in evch_zonefree()
346 evch_dl_del(&chp->ch_subscr, &sdp->sd_link); in evch_zonefree()
347 kmem_free(sdp->sd_classname, sdp->sd_clnsize); in evch_zonefree()
348 kmem_free(sdp->sd_ident, strlen(sdp->sd_ident) + 1); in evch_zonefree()
349 kmem_free(sdp, sizeof (evch_subd_t)); in evch_zonefree()
870 evch_subd_t *sdp = (evch_subd_t *)cookie; in evch_kern_deliver() local
872 return (sdp->sd_callback(ev, sdp->sd_cbcookie)); in evch_kern_deliver()
885 evch_subd_t *sdp = (evch_subd_t *)cookie; in evch_door_deliver() local
901 if ((error = door_ki_upcall_limited(sdp->sd_door, &darg, in evch_door_deliver()
1028 evch_subd_t *sdp; in evch_chinitthr() local
1039 for (sdp = evch_dl_next(&chp->ch_subscr, NULL); sdp; in evch_chinitthr()
1040 sdp = evch_dl_next(&chp->ch_subscr, sdp)) { in evch_chinitthr()
1041 evch_evq_thrcreate(sdp->sd_queue); in evch_chinitthr()
1207 evch_subd_t *sdp; in evch_chsubscribe() local
1283 sdp = kmem_zalloc(sizeof (evch_subd_t), KM_SLEEP); in evch_chsubscribe()
1284 sdp->sd_queue = evch_evq_create(); in evch_chsubscribe()
1287 sdp->sd_persist = flags & EVCH_SUB_KEEP ? 1 : 0; in evch_chsubscribe()
1288 sdp->sd_dump = flags & EVCH_SUB_DUMP ? 1 : 0; in evch_chsubscribe()
1289 sdp->sd_type = dtype; in evch_chsubscribe()
1290 sdp->sd_cbcookie = cookie; in evch_chsubscribe()
1291 sdp->sd_ident = subid; in evch_chsubscribe()
1293 sdp->sd_callback = (kerndlv_f)dinfo; in evch_chsubscribe()
1296 sdp->sd_door = (door_handle_t)dinfo; in evch_chsubscribe()
1299 sdp->sd_ssub = in evch_chsubscribe()
1300 evch_evq_sub(sdp->sd_queue, NULL, NULL, delivfkt, (void *)sdp); in evch_chsubscribe()
1303 sdp->sd_msub = evch_evq_sub(eqp, evch_class_filter, clb, in evch_chsubscribe()
1304 evch_subq_deliver, (void *)sdp); in evch_chsubscribe()
1305 sdp->sd_classname = clb; in evch_chsubscribe()
1306 sdp->sd_clnsize = clblen; in evch_chsubscribe()
1307 sdp->sd_pid = pid; in evch_chsubscribe()
1308 sdp->sd_active++; in evch_chsubscribe()
1311 sdp->sd_subnxt = bp->bd_sublst; in evch_chsubscribe()
1312 bp->bd_sublst = sdp; in evch_chsubscribe()
1315 evch_dl_add(&chp->ch_subscr, &sdp->sd_link); in evch_chsubscribe()
1334 evch_subd_t *sdp; in evch_chunsubscribe() local
1344 for (sdp = bp->bd_sublst; sdp; sdp = next) { in evch_chunsubscribe()
1345 if (sid == NULL || strcmp(sid, sdp->sd_ident) == 0) { in evch_chunsubscribe()
1346 if (flags == 0 || sdp->sd_persist == 0) { in evch_chunsubscribe()
1351 evch_evq_unsub(chp->ch_queue, sdp->sd_msub); in evch_chunsubscribe()
1354 evch_evq_unsub(sdp->sd_queue, sdp->sd_ssub); in evch_chunsubscribe()
1355 evch_evq_destroy(sdp->sd_queue); in evch_chunsubscribe()
1360 evch_dl_del(&chp->ch_subscr, &sdp->sd_link); in evch_chunsubscribe()
1361 kmem_free(sdp->sd_classname, sdp->sd_clnsize); in evch_chunsubscribe()
1362 if (sdp->sd_type == EVCH_DELDOOR) { in evch_chunsubscribe()
1363 door_ki_rele(sdp->sd_door); in evch_chunsubscribe()
1365 next = sdp->sd_subnxt; in evch_chunsubscribe()
1371 kmem_free(sdp->sd_ident, in evch_chunsubscribe()
1372 strlen(sdp->sd_ident) + 1); in evch_chunsubscribe()
1373 kmem_free(sdp, sizeof (evch_subd_t)); in evch_chunsubscribe()
1378 evch_evq_stop(sdp->sd_queue); in evch_chunsubscribe()
1379 if (sdp->sd_type == EVCH_DELDOOR) { in evch_chunsubscribe()
1380 door_ki_rele(sdp->sd_door); in evch_chunsubscribe()
1382 sdp->sd_active--; in evch_chunsubscribe()
1383 ASSERT(sdp->sd_active == 0); in evch_chunsubscribe()
1384 next = sdp->sd_subnxt; in evch_chunsubscribe()
1385 prev = sdp; in evch_chunsubscribe()
1391 next = sdp->sd_subnxt; in evch_chunsubscribe()
1392 prev = sdp; in evch_chunsubscribe()
1495 evch_subd_t *sdp; in evch_chgetchdata() local
1534 for (sdp = evch_dl_next(&chp->ch_subscr, NULL); sdp != NULL; in evch_chgetchdata()
1535 sdp = evch_dl_next(&chp->ch_subscr, sdp)) { in evch_chgetchdata()
1536 idlen = strlen(sdp->sd_ident) + 1; in evch_chgetchdata()
1538 sdp->sd_clnsize); in evch_chgetchdata()
1547 if (sdp->sd_classname) { in evch_chgetchdata()
1548 bcopy(sdp->sd_classname, subp->sb_strings + idlen, in evch_chgetchdata()
1549 sdp->sd_clnsize); in evch_chgetchdata()
1554 subp->sb_pid = sdp->sd_pid; in evch_chgetchdata()
1555 subp->sb_nevents = EVCH_EVQ_EVCOUNT(sdp->sd_queue); in evch_chgetchdata()
1556 subp->sb_evhwm = EVCH_EVQ_HIGHWM(sdp->sd_queue); in evch_chgetchdata()
1557 subp->sb_persist = sdp->sd_persist; in evch_chgetchdata()
1558 subp->sb_status = evch_evq_status(sdp->sd_queue); in evch_chgetchdata()
1559 subp->sb_active = sdp->sd_active; in evch_chgetchdata()
1560 subp->sb_dump = sdp->sd_dump; in evch_chgetchdata()
1561 bcopy(sdp->sd_ident, subp->sb_strings, idlen); in evch_chgetchdata()
1629 evch_subd_t *sdp; in evch_chrdevent_init() local
1641 if ((sdp = (evch_subd_t *)evch_dl_search(&chp->ch_subscr, in evch_chrdevent_init()
1643 evch_subq = sdp->sd_queue; in evch_chrdevent_init()
1648 sdp = (evch_subd_t *)evch_dl_search(&chp->ch_subscr, compfunc, subid); in evch_chrdevent_init()
1656 if (sdp != NULL) { in evch_chrdevent_init()
1657 psqstat = evch_evq_status(sdp->sd_queue); in evch_chrdevent_init()
1659 evch_evq_stop(sdp->sd_queue); in evch_chrdevent_init()
1671 if (sdp != NULL) { in evch_chrdevent_init()
1673 while ((ev = evch_evq_evnext(sdp->sd_queue, ev)) != NULL) { in evch_chrdevent_init()
1685 if (sdp != NULL && psqstat == 0) in evch_chrdevent_init()
1686 evch_evq_continue(sdp->sd_queue); in evch_chrdevent_init()