pb->next = p->alloc_list;
p->alloc_list = pb;
- if (p->alloc_list_tail == NULL) {
- p->alloc_list_tail = pb;
- }
p->alloc_list_size++;
} else {
PoolBucket *pb = p->empty_list;
pb->next = p->alloc_list;
p->alloc_list = pb;
- if (p->alloc_list_tail == NULL) {
- p->alloc_list_tail = pb;
- }
p->alloc_list_size++;
}
}
SCFree(pb);
}
}
- p->alloc_list_tail = NULL;
while (p->empty_list != NULL) {
PoolBucket *pb = p->empty_list;
if (pb != NULL) {
/* pull from the alloc list */
p->alloc_list = pb->next;
- if (pb->next == NULL)
- p->alloc_list_tail = NULL;
p->alloc_list_size--;
/* put in the empty list */
p->empty_list_size--;
/* put in the alloc list */
- pb->next = NULL;
- if (p->alloc_list_tail == NULL) {
- p->alloc_list = pb;
- } else {
- p->alloc_list_tail->next = pb;
- }
- p->alloc_list_tail = pb;
+ pb->next = p->alloc_list;
+ p->alloc_list = pb;
p->alloc_list_size++;
pb->data = data;