#include "philo.h" pthread_mutex_t mutex; void *philo_exec(void *arg) { t_philo *philo; int nbr; philo = (t_philo*)arg; nbr = philo->philo_nbr; pthread_mutex_lock(&mutex); write(1, "-", 1); ft_putnbr_fd(nbr, 1); write(1, "\n", 1); pthread_mutex_unlock(&mutex); return (NULL); } int main(int ac, char **av) { pthread_t *id; t_philo *philo; int i; int n; if (ac == 1) return (0); philo = init(av, &id); i = 0; n = philo->conditions->n_phi; pthread_mutex_init(&mutex, NULL); while (i < n) { pthread_create(&id[i], NULL, &philo_exec, philo); philo = philo->next; i++; } i = 0; while (i < n) { pthread_join(id[i], NULL); i++; } write(1, "main function\n", 14); return 0; }