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