Lines Matching refs:sdh
535 smbd_door_init(smbd_door_t *sdh, const char *name) in smbd_door_init() argument
537 (void) strlcpy(sdh->sd_name, name, sizeof (sdh->sd_name)); in smbd_door_init()
541 smbd_door_enter(smbd_door_t *sdh) in smbd_door_enter() argument
543 (void) mutex_lock(&sdh->sd_mutex); in smbd_door_enter()
544 ++sdh->sd_ncalls; in smbd_door_enter()
545 (void) mutex_unlock(&sdh->sd_mutex); in smbd_door_enter()
554 smbd_door_return(smbd_door_t *sdh, char *data_ptr, size_t data_size, in smbd_door_return() argument
557 (void) mutex_lock(&sdh->sd_mutex); in smbd_door_return()
559 if (sdh->sd_ncalls == 0) in smbd_door_return()
561 sdh->sd_name); in smbd_door_return()
563 --sdh->sd_ncalls; in smbd_door_return()
565 (void) cond_broadcast(&sdh->sd_cv); in smbd_door_return()
566 (void) mutex_unlock(&sdh->sd_mutex); in smbd_door_return()
578 smbd_door_fini(smbd_door_t *sdh) in smbd_door_fini() argument
583 (void) mutex_lock(&sdh->sd_mutex); in smbd_door_fini()
585 while (rc != ETIME && sdh->sd_ncalls != 0) { in smbd_door_fini()
588 rc = cond_reltimedwait(&sdh->sd_cv, &sdh->sd_mutex, &delay); in smbd_door_fini()
591 if (sdh->sd_ncalls != 0) in smbd_door_fini()
593 sdh->sd_name, sdh->sd_ncalls); in smbd_door_fini()
595 (void) mutex_unlock(&sdh->sd_mutex); in smbd_door_fini()