idmap_handle
(void) rw_rdlock(&idmap_handle.lock);
if (idmap_handle.failed) {
(void) rw_unlock(&idmap_handle.lock);
(void) rw_wrlock(&idmap_handle.lock);
if (idmap_handle.failed) {
assert(idmap_handle.failed);
assert(idmap_handle.client == NULL);
idmap_handle.failed = B_FALSE;
(void) rw_unlock(&idmap_handle.lock);
(void) rw_rdlock(&idmap_handle.lock);
clntstat = clnt_call(idmap_handle.client, procnum, inproc, in,
rc = _idmap_rpc2stat(clntstat, idmap_handle.client);
idmap_handle.failed = B_TRUE;
(void) rw_unlock(&idmap_handle.lock);
idmap_handle.client = clnt_door_create(IDMAP_PROG, IDMAP_V1, sendsz);
if (idmap_handle.client == NULL)
clnt = idmap_handle.client;
idmap_handle.client = NULL;
static struct idmap_handle idmap_handle = {