--- rpl/src/rpl.h 2016/03/29 12:28:02 1.296 +++ rpl/src/rpl.h 2017/01/18 15:44:24 1.303 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.25 - Copyright (C) 1989-2016 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.26 + Copyright (C) 1989-2017 Dr. BERTRAND Joël This file is part of RPL/2. @@ -64,6 +64,11 @@ # define SA_ONSTACK 0 #endif +#ifdef BROKEN_SIGSEGV +# undef HAVE_STACK_OVERFLOW_RECOVERY +# undef HAVE_SIGSEGV_RECOVERY +#endif + #define DEBUG_TRACE uprintf("[%d/%X] %s(%d)\n", \ getpid(), pthread_self(), __FILE__, __LINE__); #define TEST_ABSENCE_FICHIER(nom) \ @@ -215,7 +220,11 @@ # endif # include "sqlite3.h" -# include "sigsegv.h" + +# ifndef BROKEN_SIGSEGV +# include "sigsegv.h" +# endif + # ifdef OS2 // Bug de libsigsegv # undef HAVE_STACK_OVERFLOW_RECOVERY @@ -272,6 +281,7 @@ # define __STATIC_MUTEX_INITIALIZATION__ #endif + /* ================================================================================ Bugs spécifiques @@ -528,8 +538,7 @@ union semun __EXTERN__ pthread_mutex_t mutex_sem __STATIC_MUTEX_INITIALIZATION__; __EXTERN__ volatile int routine_recursive; - __EXTERN__ volatile sig_atomic_t - nombre_thread_surveillance_processus; + __EXTERN__ volatile int nombre_thread_surveillance_processus; # define SEM_FORK 0 # define SEM_QUEUE 1 @@ -3149,7 +3158,10 @@ void interruption3(int signal); void interruption4(int signal); void interruption5(int signal); void interruption6(int signal); -void interruption_depassement_pile(int urgence, stackoverflow_context_t scp); +#ifdef HAVE_SIGSEGV_RECOVERY + void interruption_depassement_pile(int urgence, + stackoverflow_context_t scp); +#endif void inversion_matrice(struct_processus *s_etat_processus, struct_matrice *s_matrice); void lancement_daemon(struct_processus *s_etat_processus);