--- rpl/src/rpl.h 2015/10/22 18:37:09 1.278 +++ rpl/src/rpl.h 2016/03/16 12:19:35 1.288 @@ -1,7 +1,8 @@ +#define DEBUG_ERREURS /* ================================================================================ - RPL/2 (R) version 4.1.23 - Copyright (C) 1989-2015 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.25 + Copyright (C) 1989-2016 Dr. BERTRAND Joël This file is part of RPL/2. @@ -64,6 +65,8 @@ # define SA_ONSTACK 0 #endif +#define DEBUG_TRACE uprintf("[%d/%X] %s(%d)\n", \ + getpid(), pthread_self(), __FILE__, __LINE__); /* ================================================================================ @@ -515,8 +518,7 @@ union semun __EXTERN__ pid_t pid_processus_pere; - __EXTERN__ pthread_mutex_t mutex_liste_threads - __STATIC_MUTEX_INITIALIZATION__; + __EXTERN__ pthread_mutex_t mutex_liste_threads; __EXTERN__ pthread_mutex_t mutex_creation_variable_partagee __STATIC_MUTEX_INITIALIZATION__; __EXTERN__ pthread_mutex_t mutex_sections_critiques; @@ -814,7 +816,7 @@ pid_t debug_fork(); # define __erreur(i) ({ if (strstr(__FUNCTION__, "recherche_variable") \ == NULL) ufprintf(stderr, \ "ERROR %d AT %s() FROM %s LINE %d\n", \ - i, __FUNCTION__, __FILE__, __LINE__); i; }) + i, __FUNCTION__, __FILE__, __LINE__); BACKTRACE(16); i; }) # endif #else # define __erreur(i) i @@ -1975,6 +1977,7 @@ typedef struct processus unsigned char evaluation_forcee; /*Y/N*/ unsigned char instruction_valide; /*Y/N*/ unsigned char instruction_intrinseque; /*Y/I/N*/ + unsigned char instruction_sensible; /*Y/N*/ unsigned char test_instruction; /*Y/N*/ unsigned char affichage_arguments; /*Y/N*/ unsigned char constante_symbolique; /*Y/N*/ @@ -2470,6 +2473,7 @@ void *rpl_malloc(struct_processus *s_eta void *rpl_realloc(struct_processus *s_etat_processus, void *ptr, size_t s); void rpl_free(struct_processus *s_etat_processus, void *ptr); void *sys_malloc(size_t s); +void *sys_realloc(void *ptr, size_t s); void sys_free(void *ptr); /* @@ -3163,8 +3167,6 @@ void profilage(struct_processus *s_etat_ void rang(struct_processus *s_etat_processus, struct_matrice *s_matrice, integer8 *valeur); void recherche_type(struct_processus *s_etat_processus); -void reinitialisation_mutexes_variables_partagees( - struct_processus *s_etat_processus); void retrait_thread(struct_processus *s_etat_processus); void retrait_thread_surveillance(struct_processus *s_etat_processus, struct_descripteur_thread *s_argument_thread); @@ -3215,7 +3217,8 @@ void liberation_queue_signaux(struct_pro void destruction_queue_signaux(struct_processus *s_etat_processus); int envoi_signal_contexte(struct_processus *s_etat_processus, enum signaux_rpl signal); -int envoi_signal_processus(pid_t pid, enum signaux_rpl signal); +int envoi_signal_processus(pid_t pid, enum signaux_rpl signal, + logical1 test_ouverture); int envoi_signal_thread(pthread_t tid, enum signaux_rpl signal); #endif