version 1.36, 2011/09/20 16:57:50
|
version 1.38, 2011/09/21 10:33:40
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.3 |
RPL/2 (R) version 4.1.4 |
Copyright (C) 1989-2011 Dr. BERTRAND Joël |
Copyright (C) 1989-2011 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
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); |
free(nom_absolu); |
return(EACCES); |
return(EACCES); |
} |
} |
|
|
free(nom_absolu); |
free(nom); |
return(0); |
return(0); |
# else |
# else |
|
|