From: Lukas Jiriste Date: Thu, 23 May 2024 07:32:26 +0000 (+0200) Subject: Make semaphores close properly, fix array access X-Git-Url: https://git.ljiriste.work/?a=commitdiff_plain;h=200b1b4fe01a6788fc5e9f2d4ff081fab95e7b29;p=42%2Fphilosophers.git Make semaphores close properly, fix array access --- diff --git a/philo_bonus/mem_management.c b/philo_bonus/mem_management.c index 25d5e28..a8a3cd8 100644 --- a/philo_bonus/mem_management.c +++ b/philo_bonus/mem_management.c @@ -48,7 +48,7 @@ int init(unsigned int count, pid_t **philo_pids, sem_t *semaphores[sem_num]) i = 0; while (i < count) { - *philo_pids[i] = 0; + (*philo_pids)[i] = 0; sem_wait(semaphores[death]); sem_wait(semaphores[fed]); ++i; @@ -63,11 +63,11 @@ void cleanup(pid_t *philo_pids, sem_t *semaphores[sem_num]) i = 0; while (i < sem_num) - { - if (semaphores[i] != SEM_FAILED) - sem_close(semaphores[i]); - ++i; - } + sem_close(semaphores[i++]); + sem_unlink(FORKS_SEM); + sem_unlink(WELL_FED_SEM); + sem_unlink(DEATH_SEM); + sem_unlink(TERM_SEM); free(philo_pids); return ; }