Lines Matching refs:sdh
427 smbd_door_init(smbd_door_t *sdh, const char *name)
429 (void) strlcpy(sdh->sd_name, name, sizeof (sdh->sd_name));
433 smbd_door_enter(smbd_door_t *sdh)
435 (void) mutex_lock(&sdh->sd_mutex);
436 ++sdh->sd_ncalls;
437 (void) mutex_unlock(&sdh->sd_mutex);
446 smbd_door_return(smbd_door_t *sdh, char *data_ptr, size_t data_size,
449 (void) mutex_lock(&sdh->sd_mutex);
451 if (sdh->sd_ncalls == 0)
453 sdh->sd_name);
455 --sdh->sd_ncalls;
457 (void) cond_broadcast(&sdh->sd_cv);
458 (void) mutex_unlock(&sdh->sd_mutex);
470 smbd_door_fini(smbd_door_t *sdh)
475 (void) mutex_lock(&sdh->sd_mutex);
477 while (rc != ETIME && sdh->sd_ncalls != 0) {
480 rc = cond_reltimedwait(&sdh->sd_cv, &sdh->sd_mutex, &delay);
483 if (sdh->sd_ncalls != 0)
485 sdh->sd_name, sdh->sd_ncalls);
487 (void) mutex_unlock(&sdh->sd_mutex);