version 1.242, 2014/04/29 14:41:43
|
version 1.245, 2014/06/16 18:48:22
|
Line 146
|
Line 146
|
# define SEM_FAILED NULL |
# define SEM_FAILED NULL |
# endif |
# endif |
|
|
# ifndef __RPLCAS |
sem_t *sem_open_SysV(const char *nom, int oflag, ...); |
sem_t *sem_open_SysV(const char *nom, int oflag, ...); |
int sem_init_SysV(sem_t *sem, int shared, unsigned int value); |
int sem_init_SysV(sem_t *sem, int shared, unsigned int value); |
int sem_close_SysV(sem_t *sem); |
int sem_close_SysV(sem_t *sem); |
int sem_wait_SysV(sem_t *sem); |
int sem_wait_SysV(sem_t *sem); |
int sem_trywait_SysV(sem_t *sem); |
int sem_trywait_SysV(sem_t *sem); |
int sem_timedwait_SysV(sem_t *sem, struct timespec *ts); |
int sem_timedwait_SysV(sem_t *sem, struct timespec *ts); |
int sem_post_SysV(sem_t *sem); |
int sem_post_SysV(sem_t *sem); |
int sem_getvalue_SysV(sem_t *sem, int *value); |
int sem_getvalue_SysV(sem_t *sem, int *value); |
int sem_unlink_SysV(char *nom); |
int sem_unlink_SysV(char *nom); |
int sem_destroy_SysV(sem_t *sem); |
int sem_destroy_SysV(sem_t *sem); |
|
# endif |
|
# endif |
# endif |
|
|
# include <setjmp.h> |
# include <setjmp.h> |
Line 485 union semun
|
Line 483 union semun
|
__EXTERN__ sem_t __PTR__ semaphore_gestionnaires_signaux; |
__EXTERN__ sem_t __PTR__ semaphore_gestionnaires_signaux; |
|
|
__EXTERN__ volatile int routine_recursive; |
__EXTERN__ volatile int routine_recursive; |
#endif |
|
|
|
#define SEM_FORK 0 |
# define SEM_FORK 0 |
#define SEM_QUEUE 1 |
# define SEM_QUEUE 1 |
#define SEM_SIGNAUX 2 |
# define SEM_SIGNAUX 2 |
#define SEM_SIGNALISATION 3 |
# define SEM_SIGNALISATION 3 |
#define SEM_ARRET_SIGNALISATION 4 |
# define SEM_ARRET_SIGNALISATION 4 |
sem_t *sem_init2(unsigned int valeur, pid_t pid, int ordre); |
|
sem_t *sem_init3(unsigned int valeur, pid_t pid, pthread_t tid, int ordre); |
sem_t *sem_init2(unsigned int valeur, pid_t pid, int ordre); |
int sem_destroy2(sem_t *semaphore_p, pid_t pid, int ordre); |
sem_t *sem_init3(unsigned int valeur, pid_t pid, pthread_t tid, int ordre); |
int sem_destroy3(sem_t *semaphore_p, pid_t pid, pthread_t tid, int ordre); |
int sem_destroy2(sem_t *semaphore_p, pid_t pid, int ordre); |
int sem_getvalue2(sem_t *semaphore, int *valeur); |
int sem_destroy3(sem_t *semaphore_p, pid_t pid, pthread_t tid, int ordre); |
sem_t *sem_open2(pid_t pid, int ordre); |
int sem_getvalue2(sem_t *semaphore, int *valeur); |
|
sem_t *sem_open2(pid_t pid, int ordre); |
|
#endif |
|
|
// Le mutex est là uniquement pour pouvoir émuler le comportement |
// Le mutex est là uniquement pour pouvoir émuler le comportement |
// de sem_getvalue() sur un système comme MacOS X qui ne possède pas |
// de sem_getvalue() sur un système comme MacOS X qui ne possède pas |