version 1.36, 2011/09/20 16:57:50
|
version 1.37, 2011/09/20 19:28:39
|
Line 144 sem_destroy2(sem_t *semaphore, pid_t pid
|
Line 144 sem_destroy2(sem_t *semaphore, pid_t pid
|
return(1); |
return(1); |
} |
} |
|
|
erreur = sem_unlink(chemin); |
erreur = em_unlink(chemin); |
free(chemin); |
free(chemin); |
|
|
return(erreur); |
return(erreur); |
Line 308 sem_init_SysV(sem_t *semaphore, int shar
|
Line 308 sem_init_SysV(sem_t *semaphore, int shar
|
} |
} |
|
|
(*semaphore).pid = getpid(); |
(*semaphore).pid = getpid(); |
(*semaphore).tid = pthread_slef(); |
(*semaphore).tid = pthread_self(); |
clef = ftok((*semaphore).path, 1); |
clef = ftok((*semaphore).path, 1); |
close(desc); |
close(desc); |
|
|
Line 1007 sem_unlink_SysV(const char *nom)
|
Line 1007 sem_unlink_SysV(const char *nom)
|
{ |
{ |
// Détruit un sémaphore nommé créé par sem_open_SysV() |
// Détruit un sémaphore nommé créé par sem_open_SysV() |
# ifndef OS2 // IPCS_SYSV |
# ifndef OS2 // IPCS_SYSV |
semctl(semget(ftok(nom_absolu, 1), 0, 0), 0, IPC_RMID); |
semctl(semget(ftok(nom, 1), 0, 0), 0, IPC_RMID); |
|
|
if (unlink(nom_absolu) == -1) |
if (unlink(nom) == -1) |
{ |
{ |
free(nom_absolu); |
|
return(EACCES); |
return(EACCES); |
} |
} |
|
|
free(nom_absolu); |
|
return(0); |
return(0); |
# else |
# else |
|
|