winname2uid_gid
(void) pthread_mutex_lock(&idmap_cache.winname2uid_gid.mutex);
result = avl_find(&idmap_cache.winname2uid_gid.tree, &find,
idmap_cache.winname2uid_gid.uid_num++;
struct winname2uid_gid *flink;
idmap_cache.winname2uid_gid.uid_num++;
list_insert(&idmap_cache.winname2uid_gid.head, new);
avl_insert(&idmap_cache.winname2uid_gid.tree, new,
struct winname2uid_gid *blink;
if ((avl_numnodes(&idmap_cache.winname2uid_gid.tree) >
(idmap_cache.winname2uid_gid.purge_time +
&idmap_cache.winname2uid_gid,
(void) pthread_mutex_unlock(&idmap_cache.winname2uid_gid.mutex);
(void) pthread_mutex_lock(&idmap_cache.winname2uid_gid.mutex);
result = avl_find(&idmap_cache.winname2uid_gid.tree, &find,
idmap_cache.winname2uid_gid.gid_num++;
idmap_cache.winname2uid_gid.gid_num++;
list_insert(&idmap_cache.winname2uid_gid.head, new);
avl_insert(&idmap_cache.winname2uid_gid.tree, new,
if ((avl_numnodes(&idmap_cache.winname2uid_gid.tree) >
(idmap_cache.winname2uid_gid.purge_time +
&idmap_cache.winname2uid_gid,
(void) pthread_mutex_unlock(&idmap_cache.winname2uid_gid.mutex);
winname2uid_gid_cache_t winname2uid_gid;
avl_create(&idmap_cache.winname2uid_gid.tree,
(void) pthread_mutex_init(&idmap_cache.winname2uid_gid.mutex, NULL);
idmap_cache.winname2uid_gid.head.flink =
&idmap_cache.winname2uid_gid.head;
idmap_cache.winname2uid_gid.head.blink =
&idmap_cache.winname2uid_gid.head;
idmap_cache.winname2uid_gid.prev = NULL;
idmap_cache.winname2uid_gid.purge_time = 0;
idmap_cache.winname2uid_gid.uid_num = 0;
idmap_cache.winname2uid_gid.gid_num = 0;
winname2uid_gid_t *winname2uid_gid;
(void) pthread_mutex_lock(&idmap_cache.winname2uid_gid.mutex);
while ((winname2uid_gid = avl_destroy_nodes(
&idmap_cache.winname2uid_gid.tree, &cookie)) != NULL) {
free((char *)winname2uid_gid->winname);
if (winname2uid_gid->windomain)
free((char *)winname2uid_gid->windomain);
free(winname2uid_gid);
avl_destroy(&idmap_cache.winname2uid_gid.tree);
avl_create(&idmap_cache.winname2uid_gid.tree,
idmap_cache.winname2uid_gid.head.flink =
&idmap_cache.winname2uid_gid.head;
idmap_cache.winname2uid_gid.head.blink =
&idmap_cache.winname2uid_gid.head;
idmap_cache.winname2uid_gid.prev = NULL;
idmap_cache.winname2uid_gid.purge_time = 0;
idmap_cache.winname2uid_gid.uid_num = 0;
idmap_cache.winname2uid_gid.gid_num = 0;
(void) pthread_mutex_unlock(&idmap_cache.winname2uid_gid.mutex);
(void) pthread_mutex_lock(&idmap_cache.winname2uid_gid.mutex);
*uidbywinname = idmap_cache.winname2uid_gid.uid_num;
*gidbywinname = idmap_cache.winname2uid_gid.gid_num;
(void) pthread_mutex_unlock(&idmap_cache.winname2uid_gid.mutex);
(void) pthread_mutex_lock(&idmap_cache.winname2uid_gid.mutex);
result = avl_find(&idmap_cache.winname2uid_gid.tree, &entry, &where);
list_move(&idmap_cache.winname2uid_gid.head, result);
(void) pthread_mutex_unlock(&idmap_cache.winname2uid_gid.mutex);
(void) pthread_mutex_lock(&idmap_cache.winname2uid_gid.mutex);
result = avl_find(&idmap_cache.winname2uid_gid.tree, &entry, &where);
list_move(&idmap_cache.winname2uid_gid.head, result);
(void) pthread_mutex_unlock(&idmap_cache.winname2uid_gid.mutex);