--- rpl/src/gestion_objets.c 2018/12/21 13:36:38 1.140 +++ rpl/src/gestion_objets.c 2019/02/03 14:40:33 1.145 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.29 - Copyright (C) 1989-2018 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.31 + Copyright (C) 1989-2019 Dr. BERTRAND Joël This file is part of RPL/2. @@ -635,7 +635,7 @@ allocation(struct_processus *s_etat_proc } else { - if (((*s_objet).objet = malloc(2 * sizeof(struct_objet *))) + if (((*s_objet).objet = malloc(sizeof(struct_record))) == NULL) { (*s_etat_processus).erreur_systeme = @@ -3074,8 +3074,33 @@ copie_etat_processus(struct_processus *s return(NULL); } + + if (pthread_mutex_lock(&((*s_etat_processus).mutex_interruptions)) != 0) + { + (*s_etat_processus).erreur_systeme = d_es_processus; + return(NULL); + } + + if (pthread_mutex_lock(&((*s_etat_processus).mutex_signaux)) != 0) + { + (*s_etat_processus).erreur_systeme = d_es_processus; + return(NULL); + } + (*s_nouvel_etat_processus) = (*s_etat_processus); + if (pthread_mutex_unlock(&((*s_etat_processus).mutex_signaux)) != 0) + { + (*s_etat_processus).erreur_systeme = d_es_processus; + return(NULL); + } + + if (pthread_mutex_unlock(&((*s_etat_processus).mutex_interruptions)) != 0) + { + (*s_etat_processus).erreur_systeme = d_es_processus; + return(NULL); + } + // On réinitialise les allocateurs. pthread_mutexattr_init(&attributs_mutex);