--- rpl/src/rpl.h 2011/08/30 14:19:28 1.113 +++ rpl/src/rpl.h 2011/09/09 12:23:25 1.118 @@ -25,7 +25,7 @@ #ifndef __RPLCAS # define _GNU_SOURCE -# define _POSIX_C_SOURCE 200112L +# define _XOPEN_SOURCE 700 #endif #define _REENTRANT @@ -311,12 +311,14 @@ union semun # define SIGABORT SIGTHR # endif // Arręt d'un processus fils depuis autre chose que STOP -# if defined(Darwin) || defined(OpenBSD) +# if defined(Darwin) || defined(OpenBSD) || defined(NetBSD) # define SIGFABORT SIGINFO # else # define SIGFABORT SIGPOLL # endif +# define SIGTEST SIGILL + // Nombre d'interruptions disponibles # define d_NOMBRE_INTERRUPTIONS 64 #endif @@ -389,6 +391,10 @@ typedef unsigned char t_8_bits; extern jmp_buf contexte; extern jmp_buf contexte_initial; + extern jmp_buf contexte_processus; + extern jmp_buf contexte_thread; + + extern int signal_test; # ifdef SEMAPHORES_NOMMES extern pthread_mutex_t mutex_sem; @@ -429,6 +435,10 @@ typedef unsigned char t_8_bits; jmp_buf contexte; jmp_buf contexte_initial; + jmp_buf contexte_processus; + jmp_buf contexte_thread; + + int signal_test; # ifdef SEMAPHORES_NOMMES pthread_mutex_t mutex_sem = PTHREAD_MUTEX_INITIALIZER; @@ -1798,7 +1808,6 @@ typedef struct processus struct_liste_chainee *l_base_pile; struct_liste_chainee *l_base_pile_last; - struct_liste_chainee *l_base_pile_undo; unsigned long hauteur_pile_operationnelle; @@ -2060,6 +2069,7 @@ typedef struct processus /* Traitement des erreurs */ + unsigned int compteur_violation_d_acces; unsigned int erreur_compilation; unsigned int erreur_execution; unsigned int erreur_systeme; @@ -2771,7 +2781,6 @@ void instruction_t_vers_l(struct_process void instruction_ucase(struct_processus *s_etat_processus); void instruction_uchol(struct_processus *s_etat_processus); -void instruction_undo(struct_processus *s_etat_processus); void instruction_unlock(struct_processus *s_etat_processus); void instruction_unprotect(struct_processus *s_etat_processus); void instruction_until(struct_processus *s_etat_processus);