void ft_kill_champ(t_glob *g) { t_list **begin_lst; t_list *tmp; t_list *kill; t_proc *p; int i; begin_lst = &(g->begin_lst); tmp = *begin_lst; i = 0; while (tmp) { p = tmp->content; if (g->prog->all_cycle - p->last_live >= g->prog->cycle_to_die) { kill = tmp; tmp = tmp->next; g->prog->nb_proc -= 1; ft_kill_proc(begin_lst, kill, g); } else tmp = tmp->next; p = NULL; } }
int to_kill_or_not_to_kill_proc(t_vm *vm) { t_process *ptr; ptr = vm->proc; while (ptr) { if (ptr->live < 1) ft_kill_proc(vm, ptr); ptr = ptr->next; } if (vm->proc == NULL) return (1); return (0); }