/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* simulation.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: dkaiser id); *result = EXIT_SUCCESS; return (result); } int run_simulation(int nbr_of_philos, t_philo *philos) { int i; int result; void *retval; i = 0; result = EXIT_SUCCESS; while (i < nbr_of_philos) { result = pthread_create(&(philos[i].thread), NULL, (void*) process_philo, &philos[i]); if (result != 0) break; i++; } while (i--) { pthread_join(philos[i].thread, &retval); if (retval == NULL) result = ft_err(ERR_MALLOC); else if (*(int *)retval != EXIT_SUCCESS) { result = *(int *)retval; free(retval); } } return (result); }