--- rpl/src/semaphores.c 2010/08/18 12:56:55 1.11 +++ rpl/src/semaphores.c 2010/08/22 16:38:36 1.12 @@ -128,16 +128,6 @@ sem_getvalue2(sem_t *semaphore, int *val unsigned char racine_memoire_OS2[] = "\\SHAREDMEM\\"; #endif -#ifndef UNION_SEMUN -union semun -{ - int val; - struct semid_ds *buf; - unsigned short *array; - struct seminfo *__buf; -}; -#endif - int sem_init_SysV(sem_t *semaphore, int shared, unsigned int valeur) { @@ -162,7 +152,6 @@ sem_init_SysV(sem_t *semaphore, int shar if ((*semaphore).sem == -1) { -perror("sem_init"); errno = EINVAL; return(-1); } @@ -242,7 +231,7 @@ sem_destroy_SysV(sem_t *semaphore) return(0); } - if (semctl((*semaphore).sem, IPC_RMID, 0) == -1) + if (semctl((*semaphore).sem, 0, IPC_RMID) == -1) { return(EINVAL); } @@ -310,7 +299,6 @@ sem_wait_SysV(sem_t *semaphore) { if (errno != EINTR) { -perror("sem_wait"); errno = EINVAL; return(-1); } @@ -865,7 +853,7 @@ sem_unlink_SysV(const char *nom) } sprintf(nom_absolu, "%s%s", chemin_semaphores_SysV, nom); - semctl(semget(ftok(nom_absolu, 1), 0, 0), IPC_RMID, 0); + semctl(semget(ftok(nom_absolu, 1), 0, 0), 0, IPC_RMID); if (unlink(nom_absolu) == -1) {