void dgraph_clear_node(struct dgraph_node *n) { struct dgraph_edge *e; unsigned int i; for (i = DGRAPH_FROM; i <= DGRAPH_TO; i++) { while ((e = tlist_top(&n->edge[i], list[i])) != NULL) { assert(e->n[i] == n); free_edge(e); } } }
void lbalance_free(struct lbalance *lb) { struct lbalance_task *task; while ((task = tlist_top(&lb->tasks, list))) { assert(task->lb == lb); tlist_del_from(&lb->tasks, task, list); lb->num_tasks--; free(task); } assert(lb->num_tasks == 0); free(lb->stats); free(lb); }