diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2020-12-31 19:22:37 +0100 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2020-12-31 19:22:37 +0100 |
| commit | 632b7d81d6c7943e5e39812068c77df4681ebed2 (patch) | |
| tree | d434bbed8f0fb1f8cd04aa0dc5e6dc7fc9701520 | |
| parent | cf2ef2c3901f3da524079a9ad912dfb99e115a7e (diff) | |
| download | philosophers-632b7d81d6c7943e5e39812068c77df4681ebed2.tar.gz philosophers-632b7d81d6c7943e5e39812068c77df4681ebed2.tar.bz2 philosophers-632b7d81d6c7943e5e39812068c77df4681ebed2.zip | |
Added usleep in death checking threads
| -rw-r--r-- | philo_one/src/main.c | 8 | ||||
| -rw-r--r-- | philo_three/src/child.c | 5 | ||||
| -rw-r--r-- | philo_two/src/routine.c | 5 |
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); } |
