void pt_destroy (process_tracker_t * pt) { for (pid_list_iterator it = pid_list_begin (pt->pids); it != NULL; pid_list_iterator_next (&it)) { pt_disregard_pid (pt, *it->val); free (it->val); } List_destroy (pt->pids); s16mem_free (pt); }
void unit_deregister_pid (unit_t * unit, pid_t pid) { for (pid_list_iterator it = pid_list_begin (unit->pids); it != NULL; pid_list_iterator_next (&it)) { if (*it->val == pid) { pid_t * tofree = it->val; pid_list_del (unit->pids, it->val); pt_disregard_pid (Manager.ptrack, pid); s16mem_free (tofree); return; } } }