Lines Matching refs:ud
369 dsvcd_unlock_desc_t *ud; in svc_lock() local
419 ud = ud_create(cn, &reply.rp_retval); in svc_lock()
420 if (ud == NULL) { in svc_lock()
455 door_desc.d_data.d_desc.d_descriptor = dup(ud->ud_fd); in svc_lock()
459 ud_destroy(ud, B_TRUE); in svc_lock()
483 ud_destroy(ud, B_FALSE); in svc_lock()
495 ud_destroy(ud, B_FALSE); in svc_lock()
524 dsvcd_unlock_desc_t *ud = cookie; in svc_unlock() local
536 (void) mutex_lock(&ud->ud_lock); in svc_unlock()
537 cn = ud->ud_cn; in svc_unlock()
549 (void) mutex_unlock(&ud->ud_lock); in svc_unlock()
550 ud_destroy(ud, B_TRUE); in svc_unlock()
601 (void) mutex_unlock(&ud->ud_lock); in svc_unlock()
609 (void) mutex_unlock(&ud->ud_lock); in svc_unlock()
620 (void) mutex_unlock(&ud->ud_lock); in svc_unlock()
625 ud->ud_cn = NULL; in svc_unlock()
641 (void) mutex_unlock(&ud->ud_lock); in svc_unlock()
730 dsvcd_unlock_desc_t *ud; in ud_create() local
735 ud = ud_reclaim_list; in ud_create()
736 ud_reclaim_list = ud->ud_next; in ud_create()
741 ud = malloc(sizeof (dsvcd_unlock_desc_t)); in ud_create()
742 if (ud == NULL) { in ud_create()
749 (void) mutex_init(&ud->ud_lock, USYNC_THREAD, NULL); in ud_create()
750 ud->ud_fd = door_create((void (*)())svc_unlock, ud, in ud_create()
752 if (ud->ud_fd == -1) { in ud_create()
755 free(ud); in ud_create()
761 ud->ud_next = NULL; in ud_create()
762 ud->ud_cn = cn; in ud_create()
763 return (ud); in ud_create()
772 ud_destroy(dsvcd_unlock_desc_t *ud, boolean_t cacheable) in ud_destroy() argument
774 assert(!MUTEX_HELD(&ud->ud_lock)); in ud_destroy()
776 ud->ud_cn = NULL; in ud_destroy()
779 ud->ud_next = ud_reclaim_list; in ud_destroy()
780 ud_reclaim_list = ud; in ud_destroy()
785 (void) door_revoke(ud->ud_fd); in ud_destroy()
786 (void) mutex_destroy(&ud->ud_lock); in ud_destroy()
787 free(ud); in ud_destroy()