aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--philo_one/src/main.c8
-rw-r--r--philo_three/src/child.c5
-rw-r--r--philo_two/src/routine.c5
3 files changed, 12 insertions, 6 deletions
diff --git a/philo_one/src/main.c b/philo_one/src/main.c
index a9a6a63..0c4b95c 100644
--- a/philo_one/src/main.c
+++ b/philo_one/src/main.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/11/24 05:53:02 by cacharle #+# #+# */
-/* Updated: 2020/12/30 14:04:42 by charles ### ########.fr */
+/* Updated: 2020/12/31 19:22:08 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -60,9 +60,9 @@ int main(int argc, char **argv)
free(philos);
return (1);
}
- while (conf.all_alive && (conf.meal_num != -1 && conf.meal_num_finished_counter != conf.philo_num))
- /* printf("%ld\n", conf.meal_num_finished_counter); */
- ;
+ while (conf.all_alive)
+ if (conf.meal_num != -1 && conf.meal_num_finished_counter == conf.philo_num)
+ break;
conf.all_alive = false;
philos_detach(philos, conf.philo_num);
forks_destroy(forks, conf.philo_num);
diff --git a/philo_three/src/child.c b/philo_three/src/child.c
index 2e9b566..2b17960 100644
--- a/philo_three/src/child.c
+++ b/philo_three/src/child.c
@@ -6,7 +6,7 @@
/* By: cacharle <me@cacharle.xyz> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/09/30 14:36:16 by cacharle #+# #+# */
-/* Updated: 2020/10/05 15:02:10 by cacharle ### ########.fr */
+/* Updated: 2020/12/31 19:12:12 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -18,7 +18,10 @@ void *routine_death(t_philo *philo)
current = h_time_now();
while (current - philo->time_last_eat < philo->conf->timeout_death)
+ {
current = h_time_now();
+ usleep(200);
+ }
event_die(philo);
return (NULL);
}
diff --git a/philo_two/src/routine.c b/philo_two/src/routine.c
index fd31ca2..29f2e23 100644
--- a/philo_two/src/routine.c
+++ b/philo_two/src/routine.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/14 23:00:07 by cacharle #+# #+# */
-/* Updated: 2020/10/05 16:03:38 by cacharle ### ########.fr */
+/* Updated: 2020/12/31 19:16:32 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -42,7 +42,10 @@ void *routine_death(t_philo *arg)
current = h_time_now();
while (arg->conf->all_alive
&& current - arg->time_last_eat < arg->conf->timeout_death)
+ {
current = h_time_now();
+ usleep(200);
+ }
event_die(arg);
return (NULL);
}