INNER CODE UNIT · C
q
lh3/ksw2 · kalloc.c:71
q = p->next;
free(p->ptr);
if (p != &km->list_head) free(p);
p = q;
} while (p && p->next);
if (p != &km->list_head) free(p);
free(km);
}
void kfree(void *_km, void *ap)
{
size_t *p, *q;
kmem_t *km = (kmem_t*)_km;
if (!ap) return;
if (km == 0) {
free(ap);
return;