From 36c8c87c77c1d2689a8ae73ff1a4d97ce6f154d1 Mon Sep 17 00:00:00 2001 From: Denis Date: Fri, 14 May 2021 13:46:13 +0300 Subject: [PATCH] add all link in philo --- philo_one/includes/philo_header.h | 29 +++++++++++++++------------- philo_one/philo_one | Bin 54422 -> 0 bytes philo_one/srcs/logic.c | 8 +++++--- philo_one/srcs/messages.c | 5 ++--- philo_one/srcs/prepare_simulation.c | 1 + 5 files changed, 24 insertions(+), 19 deletions(-) delete mode 100755 philo_one/philo_one diff --git a/philo_one/includes/philo_header.h b/philo_one/includes/philo_header.h index 9c2835f..6bf6a49 100644 --- a/philo_one/includes/philo_header.h +++ b/philo_one/includes/philo_header.h @@ -8,6 +8,20 @@ # include # include +typedef struct s_philo_data 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; + time_t start_time; + t_philo_data *data_philo; + pthread_mutex_t write; +} t_all; + typedef struct s_philo { @@ -20,7 +34,7 @@ typedef struct s_philo time_t time_to_die; int died; int nbr_philo; - + t_all *all_struct; pthread_mutex_t *eat_mutex; } t_philo; @@ -30,18 +44,6 @@ typedef struct s_philo_data t_philo *philors; } 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; - time_t start_time; - t_philo_data *data_philo; - pthread_mutex_t write; -} t_all; - void *ft_calloc(size_t num, size_t size); t_all *structalloc_and_bzero(void); int parse_and_check_values(char **argv, int quantity); @@ -57,4 +59,5 @@ int prepare_resources(t_all *all); int check_all_run(t_all *all); void run_simulation(t_all *all); void run_all_phils(t_all *all); +void messages(t_all *all, t_philo *philo, char *str); #endif diff --git a/philo_one/philo_one b/philo_one/philo_one deleted file mode 100755 index a866e85e912194c473ce46c3d89e2974edd4a390..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54422 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 AumAu6 diff --git a/philo_one/srcs/logic.c b/philo_one/srcs/logic.c index 1109a9b..b57864f 100644 --- a/philo_one/srcs/logic.c +++ b/philo_one/srcs/logic.c @@ -7,9 +7,11 @@ void *run_trhead(t_philo *philo) while(1) { if (philo->can_run_simulation) - { - printf("я могу что то делать ура я %d\n", philo->nbr_philo); - } + break; + } + while(!philo->died) + { + messages(philo->all_struct, philo, "я могу что то делать ура"); } return(NULL); } diff --git a/philo_one/srcs/messages.c b/philo_one/srcs/messages.c index 03b7f54..c557b94 100644 --- a/philo_one/srcs/messages.c +++ b/philo_one/srcs/messages.c @@ -1,9 +1,8 @@ #include "../includes/philo_header.h" -void messages(t_all *all, time_t *time, int phil, char *str) +void messages(t_all *all, t_philo *philo, char *str) { pthread_mutex_lock(&all->write); - phil++; - printf("%lu %d %s\n", (unsigned long)time, phil, str); + printf("%d %s\n", philo->nbr_philo + 1, str); pthread_mutex_unlock(&all->write); } \ No newline at end of file diff --git a/philo_one/srcs/prepare_simulation.c b/philo_one/srcs/prepare_simulation.c index 7d18298..9fd9917 100644 --- a/philo_one/srcs/prepare_simulation.c +++ b/philo_one/srcs/prepare_simulation.c @@ -54,6 +54,7 @@ void get_fork_for_philo(t_all *all) all->data_philo->philors[i].nbr_philo = i; all->data_philo->philors[i].worked = 0; all->data_philo->philors[i].can_run_simulation = 0; + all->data_philo->philors[i].all_struct = all; i++; } }