/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* philosophers.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: narnaud +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/11/24 15:44:06 by narnaud #+# #+# */ /* Updated: 2022/03/31 12:37:23 by narnaud ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef PHILOSOPHERS_H # define PHILOSOPHERS_H # define CLOCK_ONE 500 # define CLOCK_TWO 1000 # include # include # include # include # include # include enum e_params { PHILO_AMOUNT, DIE_TIME, EAT_DURATION, SLEEP_DURATION, MEALS_AMOUNT, }; typedef struct s_philo { pthread_mutex_t *fork; pthread_mutex_t *lock; pthread_t *thd; int eat_time; int eat_amount; int i; } t_philo; typedef struct s_room { int param[5]; t_philo **philos; pthread_mutex_t *lock; int running; int i; } t_room; int waiter(t_room *room); void *philos_life(void *r); int room_clock(); #endif