Lines Matching full:pp
57 #define POOL_TO_MARKER(pp) ((void *)((uintptr_t)(pp) | 1)) argument
66 uu_list_pool_t *pp, *next, *prev; in uu_list_pool_create() local
80 pp = uu_zalloc(sizeof (uu_list_pool_t)); in uu_list_pool_create()
81 if (pp == NULL) { in uu_list_pool_create()
86 (void) strlcpy(pp->ulp_name, name, sizeof (pp->ulp_name)); in uu_list_pool_create()
87 pp->ulp_nodeoffset = nodeoffset; in uu_list_pool_create()
88 pp->ulp_objsize = objsize; in uu_list_pool_create()
89 pp->ulp_cmp = compare_func; in uu_list_pool_create()
91 pp->ulp_debug = 1; in uu_list_pool_create()
92 pp->ulp_last_index = 0; in uu_list_pool_create()
94 (void) pthread_mutex_init(&pp->ulp_lock, NULL); in uu_list_pool_create()
96 pp->ulp_null_list.ul_next = &pp->ulp_null_list; in uu_list_pool_create()
97 pp->ulp_null_list.ul_prev = &pp->ulp_null_list; in uu_list_pool_create()
100 pp->ulp_next = next = &uu_null_lpool; in uu_list_pool_create()
101 pp->ulp_prev = prev = next->ulp_prev; in uu_list_pool_create()
102 next->ulp_prev = pp; in uu_list_pool_create()
103 prev->ulp_next = pp; in uu_list_pool_create()
106 return (pp); in uu_list_pool_create()
110 uu_list_pool_destroy(uu_list_pool_t *pp) in uu_list_pool_destroy() argument
112 if (pp->ulp_debug) { in uu_list_pool_destroy()
113 if (pp->ulp_null_list.ul_next != &pp->ulp_null_list || in uu_list_pool_destroy()
114 pp->ulp_null_list.ul_prev != &pp->ulp_null_list) { in uu_list_pool_destroy()
117 (int)sizeof (pp->ulp_name), pp->ulp_name, in uu_list_pool_destroy()
118 (void *)pp); in uu_list_pool_destroy()
122 pp->ulp_next->ulp_prev = pp->ulp_prev; in uu_list_pool_destroy()
123 pp->ulp_prev->ulp_next = pp->ulp_next; in uu_list_pool_destroy()
125 pp->ulp_prev = NULL; in uu_list_pool_destroy()
126 pp->ulp_next = NULL; in uu_list_pool_destroy()
127 uu_free(pp); in uu_list_pool_destroy()
131 uu_list_node_init(void *base, uu_list_node_t *np_arg, uu_list_pool_t *pp) in uu_list_node_init() argument
135 if (pp->ulp_debug) { in uu_list_node_init()
137 if (offset + sizeof (*np) > pp->ulp_objsize) { in uu_list_node_init()
140 base, (void *)np, (void *)pp, pp->ulp_name, in uu_list_node_init()
141 (long)offset, (long)pp->ulp_objsize); in uu_list_node_init()
143 if (offset != pp->ulp_nodeoffset) { in uu_list_node_init()
146 base, (void *)np, (void *)pp, pp->ulp_name, in uu_list_node_init()
147 (long)offset, (long)pp->ulp_objsize); in uu_list_node_init()
150 np->uln_next = POOL_TO_MARKER(pp); in uu_list_node_init()
155 uu_list_node_fini(void *base, uu_list_node_t *np_arg, uu_list_pool_t *pp) in uu_list_node_fini() argument
159 if (pp->ulp_debug) { in uu_list_node_fini()
164 base, (void *)np_arg, (void *)pp, pp->ulp_name); in uu_list_node_fini()
166 if (np->uln_next != POOL_TO_MARKER(pp) || in uu_list_node_fini()
170 base, (void *)np_arg, (void *)pp, pp->ulp_name); in uu_list_node_fini()
178 uu_list_create(uu_list_pool_t *pp, void *parent, uint32_t flags) in uu_list_create() argument
187 if ((flags & UU_LIST_SORTED) && pp->ulp_cmp == NULL) { in uu_list_create()
188 if (pp->ulp_debug) in uu_list_create()
191 (void *)pp); in uu_list_create()
202 lp->ul_pool = pp; in uu_list_create()
204 lp->ul_offset = pp->ulp_nodeoffset; in uu_list_create()
205 lp->ul_debug = pp->ulp_debug || (flags & UU_LIST_DEBUG); in uu_list_create()
208 lp->ul_index = (pp->ulp_last_index = INDEX_NEXT(pp->ulp_last_index)); in uu_list_create()
216 (void) pthread_mutex_lock(&pp->ulp_lock); in uu_list_create()
217 next = &pp->ulp_null_list; in uu_list_create()
223 (void) pthread_mutex_unlock(&pp->ulp_lock); in uu_list_create()
231 uu_list_pool_t *pp = lp->ul_pool; in uu_list_destroy() local
250 (void) pthread_mutex_lock(&pp->ulp_lock); in uu_list_destroy()
253 (void) pthread_mutex_unlock(&pp->ulp_lock); in uu_list_destroy()
705 uu_list_pool_t *pp; in uu_list_lockup() local
708 for (pp = uu_null_lpool.ulp_next; pp != &uu_null_lpool; in uu_list_lockup()
709 pp = pp->ulp_next) in uu_list_lockup()
710 (void) pthread_mutex_lock(&pp->ulp_lock); in uu_list_lockup()
716 uu_list_pool_t *pp; in uu_list_release() local
718 for (pp = uu_null_lpool.ulp_next; pp != &uu_null_lpool; in uu_list_release()
719 pp = pp->ulp_next) in uu_list_release()
720 (void) pthread_mutex_unlock(&pp->ulp_lock); in uu_list_release()