--- rpl/src/semaphores.c 2016/03/22 09:22:23 1.76 +++ rpl/src/semaphores.c 2017/01/18 15:44:24 1.79 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.25 - Copyright (C) 1989-2016 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.26 + Copyright (C) 1989-2017 Dr. BERTRAND Joël This file is part of RPL/2. @@ -105,7 +105,12 @@ sem_init2(unsigned int valeur, pid_t pid uprintf("+++Warning: %s semaphore preexists!\n", chemin); } - semaphore = sem_open(chemin, O_RDWR | O_CREAT, + if (sem_unlink(chemin) != 0) + { + return(SEM_FAILED); + } + + semaphore = sem_open(chemin, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR, valeur); } }