Lines Matching defs:subp

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