Lines Matching refs:subp

78 	evchan_subscr_t *subp = pthread_getspecific(nrkey);  in will_deadlock()  local
81 return (subp != NULL && subp->ev_subhead == hdl ? B_TRUE : B_FALSE); in will_deadlock()
205 evchan_subscr_t *subp; in sysevent_evc_unbind() local
233 while ((subp = EV_SUB_NEXT(scp)) != NULL) { in sysevent_evc_unbind()
234 EV_SUB_NEXT(scp) = subp->evsub_next; in sysevent_evc_unbind()
237 if (subp->evsub_attr) in sysevent_evc_unbind()
238 kill_door_servers(subp); in sysevent_evc_unbind()
240 if (door_revoke(subp->evsub_door_desc) != 0 && errno == EPERM) in sysevent_evc_unbind()
241 (void) close(subp->evsub_door_desc); in sysevent_evc_unbind()
243 free(subp->evsub_sid); in sysevent_evc_unbind()
244 free(subp); in sysevent_evc_unbind()
323 evchan_subscr_t *subp = EVCHAN_SUBSCR(cookie); in door_upcall() local
330 if (subp->evsub_state == EVCHAN_SUB_STATE_CLOSING) in door_upcall()
337 rval = subp->evsub_func((sysevent_t *)(void *)args, in door_upcall()
338 subp->evsub_cookie); in door_upcall()
370 evchan_subscr_t *subp = EVCHAN_SUBSCR(cookie); in xsub_door_server_create() local
371 struct sysevent_subattr_impl *xsa = subp->evsub_attr; in xsub_door_server_create()
376 if (subp->evsub_state == EVCHAN_SUB_STATE_CLOSING) in xsub_door_server_create()
406 evchan_subscr_t *subp = EVCHAN_SUBSCR(cookie); in xsub_door_server_setup() local
407 struct sysevent_subattr_impl *xsa = subp->evsub_attr; in xsub_door_server_setup()
414 (void) pthread_setspecific(nrkey, (void *)subp); in xsub_door_server_setup()
434 kill_door_servers(evchan_subscr_t *subp) in kill_door_servers() argument
439 subp->evsub_state = EVCHAN_SUB_STATE_CLOSING; in kill_door_servers()
442 (void) door_call(subp->evsub_door_desc, &da); in kill_door_servers()
450 evchan_subscr_t *subp; in sysevent_evc_subscribe_cmn() local
484 if ((subp = calloc(1, sizeof (evchan_subscr_t))) == NULL) { in sysevent_evc_subscribe_cmn()
488 if ((subp->evsub_sid = strdup(sid)) == NULL) { in sysevent_evc_subscribe_cmn()
490 free(subp); in sysevent_evc_subscribe_cmn()
505 subp->ev_subhead = EVCHAN_IMPL_HNDL(scp); in sysevent_evc_subscribe_cmn()
506 subp->evsub_state = EVCHAN_SUB_STATE_ACTIVE; in sysevent_evc_subscribe_cmn()
509 upcall_door = door_create(door_upcall, (void *)subp, in sysevent_evc_subscribe_cmn()
512 subp->evsub_attr = xsa; in sysevent_evc_subscribe_cmn()
519 upcall_door = door_xcreate(door_upcall, (void *)subp, in sysevent_evc_subscribe_cmn()
522 (void *)subp, 1); in sysevent_evc_subscribe_cmn()
527 free(subp->evsub_sid); in sysevent_evc_subscribe_cmn()
528 free(subp); in sysevent_evc_subscribe_cmn()
533 subp->evsub_door_desc = upcall_door; in sysevent_evc_subscribe_cmn()
534 subp->evsub_func = event_handler; in sysevent_evc_subscribe_cmn()
535 subp->evsub_cookie = cookie; in sysevent_evc_subscribe_cmn()
543 uargs.door_desc = subp->evsub_door_desc; in sysevent_evc_subscribe_cmn()
549 kill_door_servers(subp); in sysevent_evc_subscribe_cmn()
551 free(subp->evsub_sid); in sysevent_evc_subscribe_cmn()
552 free(subp); in sysevent_evc_subscribe_cmn()
557 subp->evsub_next = EV_SUB_NEXT(scp); in sysevent_evc_subscribe_cmn()
558 EV_SUB_NEXT(scp) = subp; in sysevent_evc_subscribe_cmn()
690 evchan_subscr_t *subp, *prevsubp, *tofree; in sysevent_evc_unsubscribe() local
738 subp = EV_SUB_NEXT(scp); in sysevent_evc_unsubscribe()
739 while (subp != NULL) { in sysevent_evc_unsubscribe()
740 if (all_subscribers || strcmp(subp->evsub_sid, sid) == 0) { in sysevent_evc_unsubscribe()
742 EV_SUB_NEXT(scp) = subp->evsub_next; in sysevent_evc_unsubscribe()
744 prevsubp->evsub_next = subp->evsub_next; in sysevent_evc_unsubscribe()
747 tofree = subp; in sysevent_evc_unsubscribe()
748 subp = subp->evsub_next; in sysevent_evc_unsubscribe()
762 prevsubp = subp; in sysevent_evc_unsubscribe()
763 subp = subp->evsub_next; in sysevent_evc_unsubscribe()