--- rpl/src/semaphores.c 2016/03/22 09:22:23 1.76 +++ rpl/src/semaphores.c 2016/09/27 15:29:40 1.78 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.1.25 + RPL/2 (R) version 4.1.26 Copyright (C) 1989-2016 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); } }