Lines Matching refs:pp

57 				    (pp)->uap_nodeoffset))
59 #define POOL_TO_MARKER(pp) (((uintptr_t)(pp) | 1)) argument
67 uu_avl_pool_t *pp, *next, *prev; in uu_avl_pool_create() local
82 pp = uu_zalloc(sizeof (uu_avl_pool_t)); in uu_avl_pool_create()
83 if (pp == NULL) { in uu_avl_pool_create()
88 (void) strlcpy(pp->uap_name, name, sizeof (pp->uap_name)); in uu_avl_pool_create()
89 pp->uap_nodeoffset = nodeoffset; in uu_avl_pool_create()
90 pp->uap_objsize = objsize; in uu_avl_pool_create()
91 pp->uap_cmp = compare_func; in uu_avl_pool_create()
93 pp->uap_debug = 1; in uu_avl_pool_create()
94 pp->uap_last_index = 0; in uu_avl_pool_create()
96 (void) pthread_mutex_init(&pp->uap_lock, NULL); in uu_avl_pool_create()
98 pp->uap_null_avl.ua_next_enc = UU_PTR_ENCODE(&pp->uap_null_avl); in uu_avl_pool_create()
99 pp->uap_null_avl.ua_prev_enc = UU_PTR_ENCODE(&pp->uap_null_avl); in uu_avl_pool_create()
102 pp->uap_next = next = &uu_null_apool; in uu_avl_pool_create()
103 pp->uap_prev = prev = next->uap_prev; in uu_avl_pool_create()
104 next->uap_prev = pp; in uu_avl_pool_create()
105 prev->uap_next = pp; in uu_avl_pool_create()
108 return (pp); in uu_avl_pool_create()
112 uu_avl_pool_destroy(uu_avl_pool_t *pp) in uu_avl_pool_destroy() argument
114 if (pp->uap_debug) { in uu_avl_pool_destroy()
115 if (pp->uap_null_avl.ua_next_enc != in uu_avl_pool_destroy()
116 UU_PTR_ENCODE(&pp->uap_null_avl) || in uu_avl_pool_destroy()
117 pp->uap_null_avl.ua_prev_enc != in uu_avl_pool_destroy()
118 UU_PTR_ENCODE(&pp->uap_null_avl)) { in uu_avl_pool_destroy()
121 (int)sizeof (pp->uap_name), pp->uap_name, in uu_avl_pool_destroy()
122 (void *)pp); in uu_avl_pool_destroy()
126 pp->uap_next->uap_prev = pp->uap_prev; in uu_avl_pool_destroy()
127 pp->uap_prev->uap_next = pp->uap_next; in uu_avl_pool_destroy()
129 (void) pthread_mutex_destroy(&pp->uap_lock); in uu_avl_pool_destroy()
130 pp->uap_prev = NULL; in uu_avl_pool_destroy()
131 pp->uap_next = NULL; in uu_avl_pool_destroy()
132 uu_free(pp); in uu_avl_pool_destroy()
136 uu_avl_node_init(void *base, uu_avl_node_t *np, uu_avl_pool_t *pp) in uu_avl_node_init() argument
140 if (pp->uap_debug) { in uu_avl_node_init()
142 if (offset + sizeof (*np) > pp->uap_objsize) { in uu_avl_node_init()
145 base, (void *)np, (void *)pp, pp->uap_name, in uu_avl_node_init()
146 (long)offset, (long)pp->uap_objsize); in uu_avl_node_init()
148 if (offset != pp->uap_nodeoffset) { in uu_avl_node_init()
151 base, (void *)np, (void *)pp, pp->uap_name, in uu_avl_node_init()
152 (long)offset, (long)pp->uap_objsize); in uu_avl_node_init()
156 na[0] = POOL_TO_MARKER(pp); in uu_avl_node_init()
161 uu_avl_node_fini(void *base, uu_avl_node_t *np, uu_avl_pool_t *pp) in uu_avl_node_fini() argument
165 if (pp->uap_debug) { in uu_avl_node_fini()
169 base, (void *)np, (void *)pp, pp->uap_name); in uu_avl_node_fini()
171 if (na[0] != POOL_TO_MARKER(pp) || na[1] != 0) { in uu_avl_node_fini()
174 base, (void *)np, (void *)pp, pp->uap_name); in uu_avl_node_fini()
209 uu_avl_create(uu_avl_pool_t *pp, void *parent, uint32_t flags) in uu_avl_create() argument
224 ap->ua_pool = pp; in uu_avl_create()
226 ap->ua_debug = pp->uap_debug || (flags & UU_AVL_DEBUG); in uu_avl_create()
227 ap->ua_index = (pp->uap_last_index = INDEX_NEXT(pp->uap_last_index)); in uu_avl_create()
229 avl_create(&ap->ua_tree, &uu_avl_node_compare, pp->uap_objsize, in uu_avl_create()
230 pp->uap_nodeoffset); in uu_avl_create()
235 (void) pthread_mutex_lock(&pp->uap_lock); in uu_avl_create()
236 next = &pp->uap_null_avl; in uu_avl_create()
242 (void) pthread_mutex_unlock(&pp->uap_lock); in uu_avl_create()
250 uu_avl_pool_t *pp = ap->ua_pool; in uu_avl_destroy() local
263 (void) pthread_mutex_lock(&pp->uap_lock); in uu_avl_destroy()
266 (void) pthread_mutex_unlock(&pp->uap_lock); in uu_avl_destroy()
423 uu_avl_pool_t *pp = ap->ua_pool; in uu_avl_remove() local
424 uintptr_t *na = NODE_ARRAY(pp, elem); in uu_avl_remove()
451 na[0] = POOL_TO_MARKER(pp); in uu_avl_remove()
461 uu_avl_pool_t *pp = ap->ua_pool; in uu_avl_teardown() local
462 uintptr_t *na = NODE_ARRAY(pp, elem); in uu_avl_teardown()
464 na[0] = POOL_TO_MARKER(pp); in uu_avl_teardown()
495 uu_avl_pool_t *pp = ap->ua_pool; in uu_avl_insert() local
496 uintptr_t *na = NODE_ARRAY(pp, elem); in uu_avl_insert()
506 if (na[0] != POOL_TO_MARKER(pp)) in uu_avl_insert()
551 uu_avl_pool_t *pp; in uu_avl_lockup() local
554 for (pp = uu_null_apool.uap_next; pp != &uu_null_apool; in uu_avl_lockup()
555 pp = pp->uap_next) in uu_avl_lockup()
556 (void) pthread_mutex_lock(&pp->uap_lock); in uu_avl_lockup()
562 uu_avl_pool_t *pp; in uu_avl_release() local
564 for (pp = uu_null_apool.uap_next; pp != &uu_null_apool; in uu_avl_release()
565 pp = pp->uap_next) in uu_avl_release()
566 (void) pthread_mutex_unlock(&pp->uap_lock); in uu_avl_release()