Example #1
0
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;
	}
}
Example #2
0
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);
}