diff --git a/philo_one/includes/philo_header.h b/philo_one/includes/philo_header.h index cf4aa2a..a2d71a7 100644 --- a/philo_one/includes/philo_header.h +++ b/philo_one/includes/philo_header.h @@ -9,14 +9,21 @@ # include -typedef struct s_all +typedef struct s_philo_data { - int number_of_philosophers; - int time_to_die; - int time_to_eat; - int time_to_sleep; - int number_of_times_each_philosopher_must_eat; -} t_all; + pthread_mutex_t *mutex; +} t_philo_data; + + +typedef struct s_all +{ + int number_of_philosophers; + time_t time_to_die; + time_t time_to_eat; + time_t time_to_sleep; + int number_of_times_each_philosopher_must_eat; + t_philo_data *data_philo; +} t_all; void *ft_calloc(size_t num, size_t size); t_all *structalloc_and_bzero(void); diff --git a/philo_one/obj/logic.o b/philo_one/obj/logic.o index 22eaa60..cbd161a 100644 Binary files a/philo_one/obj/logic.o and b/philo_one/obj/logic.o differ diff --git a/philo_one/obj/main.o b/philo_one/obj/main.o index 330829f..1460cf1 100644 Binary files a/philo_one/obj/main.o and b/philo_one/obj/main.o differ diff --git a/philo_one/obj/parser.o b/philo_one/obj/parser.o index 368455b..db8d9fe 100644 Binary files a/philo_one/obj/parser.o and b/philo_one/obj/parser.o differ diff --git a/philo_one/obj/utilc.o b/philo_one/obj/utilc.o index ec09fb9..19865c1 100644 Binary files a/philo_one/obj/utilc.o and b/philo_one/obj/utilc.o differ diff --git a/philo_one/philo_one b/philo_one/philo_one index bf58e53..23cc77d 100755 Binary files a/philo_one/philo_one and b/philo_one/philo_one differ diff --git a/philo_one/srcs/logic.c b/philo_one/srcs/logic.c index 0991a91..f257345 100644 --- a/philo_one/srcs/logic.c +++ b/philo_one/srcs/logic.c @@ -6,6 +6,7 @@ void *test(char *str) return(NULL); } + int func_test(t_all *all) { pthread_t t0; @@ -33,11 +34,19 @@ int func_test(t_all *all) return (0); } + +int prepare_resources(t_all *all) +{ + all->data_philo = ft_calloc(sizeof(t_philo_data), 1); + all->data_philo->mutex = (pthread_mutex_t *)ft_calloc(sizeof(pthread_mutex_t), all->number_of_philosophers); +} + int runner(t_all *all, int optional) { if (optional) { - func_test(all); + // func_test(all); + prepare_resources(all); return(0); } else