--- rpl/src/rpl.h 2013/05/22 09:05:20 1.223 +++ rpl/src/rpl.h 2013/05/28 22:09:56 1.225 @@ -318,10 +318,12 @@ typedef struct queue_signaux # ifndef SEMAPHORES_NOMMES sem_t semaphore; sem_t signalisation; + sem_t arret_signalisation; # endif # else sem_t semaphore; sem_t signalisation; + sem_t arret_signalisation; # endif volatile int pointeur_lecture; @@ -342,6 +344,7 @@ __EXTERN__ int f_queue_signaux; # ifdef SEMAPHORES_NOMMES __EXTERN__ sem_t *semaphore_queue_signaux; __EXTERN__ sem_t *semaphore_signalisation; + __EXTERN__ sem_t *semaphore_arret_signalisation; # endif #endif @@ -492,10 +495,11 @@ union semun #endif #ifdef SEMAPHORES_NOMMES -#define SEM_FORK 0 -#define SEM_QUEUE 1 -#define SEM_SIGNAUX 2 -#define SEM_SIGNALISATION 3 +#define SEM_FORK 0 +#define SEM_QUEUE 1 +#define SEM_SIGNAUX 2 +#define SEM_SIGNALISATION 3 +#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); int sem_destroy2(sem_t *semaphore_p, pid_t pid, int ordre); @@ -2308,6 +2312,7 @@ typedef struct processus // Mutex spécifique au processus et donnant accès à la pile des processus pthread_mutex_t mutex; pthread_mutex_t mutex_allocation; + pthread_mutex_t mutex_interruptions; // Mutex autorisant les fork() sem_t __PTR__ semaphore_fork;