/* destroy the allocator, free everything that's in it NOTE As every other init/destroy function here and elsewhere it is not thread safe. No, this function is no different, ensure that no thread needs the allocator before destroying it. We are not responsible for any damage that may be caused by accessing the allocator when it is being or has been destroyed. Oh yes, and don't put your cat in a microwave. */ void lf_alloc_destroy(LF_ALLOCATOR *allocator) { uchar *node= allocator->top; while (node) { uchar *tmp= anext_node(node); my_free(node); node= tmp; } lf_pinbox_destroy(&allocator->pinbox); allocator->top= 0; }
/* destroy the allocator, free everything that's in it NOTE As every other init/destroy function here and elsewhere it is not thread safe. No, this function is no different, ensure that no thread needs the allocator before destroying it. We are not responsible for any damage that may be caused by accessing the allocator when it is being or has been destroyed. Oh yes, and don't put your cat in a microwave. */ void lf_alloc_destroy(LF_ALLOCATOR *allocator) { uchar *node= allocator->top; while (node) { uchar *tmp= anext_node(node); if (allocator->destructor) allocator->destructor(node); my_free((void *)node, MYF(0)); node= tmp; } lf_pinbox_destroy(&allocator->pinbox); allocator->top= 0; }