--- rpl/src/gestion_objets.c 2010/06/08 10:22:36 1.24 +++ rpl/src/gestion_objets.c 2010/06/17 11:00:23 1.26 @@ -1110,21 +1110,9 @@ liberation(struct_processus *s_etat_proc case PRC : { - if (pthread_mutex_lock(&((*s_etat_processus).mutex)) != 0) - { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; - } - if (pthread_mutex_lock(&((*(*((struct_processus_fils *) (*s_objet).objet)).thread).mutex)) != 0) { - if (pthread_mutex_unlock(&((*s_etat_processus).mutex)) != 0) - { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; - } - (*s_etat_processus).erreur_systeme = d_es_processus; return; } @@ -1152,12 +1140,6 @@ liberation(struct_processus *s_etat_proc if (pthread_mutex_unlock(&((*(*((struct_processus_fils *) (*s_objet).objet)).thread).mutex)) != 0) { - if (pthread_mutex_unlock(&((*s_etat_processus).mutex)) != 0) - { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; - } - (*s_etat_processus).erreur_systeme = d_es_processus; return; } @@ -1169,12 +1151,6 @@ liberation(struct_processus *s_etat_proc free((*((struct_processus_fils *) (*s_objet).objet)).thread); } - if (pthread_mutex_unlock(&((*s_etat_processus).mutex)) != 0) - { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; - } - if (decrementation_atomique(s_objet) > 0) { return; @@ -2264,19 +2240,9 @@ copie_objet(struct_processus *s_etat_pro case PRC : { - if (pthread_mutex_lock(&((*s_etat_processus).mutex)) != 0) - { - return(NULL); - } - if (pthread_mutex_lock(&((*(*((struct_processus_fils *) (*s_objet).objet)).thread).mutex)) != 0) { - if (pthread_mutex_unlock(&((*s_etat_processus).mutex)) != 0) - { - return(NULL); - } - return(NULL); } @@ -2286,44 +2252,23 @@ copie_objet(struct_processus *s_etat_pro if (pthread_mutex_unlock(&((*(*((struct_processus_fils *) (*s_objet).objet)).thread).mutex)) != 0) { - if (pthread_mutex_unlock(&((*s_etat_processus).mutex)) != 0) - { - return(NULL); - } - return(NULL); } if (type != 'O') { incrementation_atomique(s_objet); - - if (pthread_mutex_unlock(&((*s_etat_processus).mutex)) != 0) - { - return(NULL); - } - return(s_objet); } if ((s_nouvel_objet = allocation(s_etat_processus, PRC)) == NULL) { - if (pthread_mutex_unlock(&((*s_etat_processus).mutex)) != 0) - { - return(NULL); - } - return(NULL); } (*((struct_processus_fils *) (*s_nouvel_objet).objet)) = (*((struct_processus_fils *) (*s_objet).objet)); - if (pthread_mutex_unlock(&((*s_etat_processus).mutex)) != 0) - { - return(NULL); - } - break; } @@ -3771,7 +3716,7 @@ debug_memoire_modification(void *pointeu { pthread_mutex_unlock(&mutex_allocation); - uprintf("[%d-%llu] ILLEGAL POINTER\n", + uprintf("[%d-%llu] ILLEGAL POINTER (realloc)\n", getpid(), (unsigned long long) pthread_self()); # ifdef __BACKTRACE BACKTRACE(PROFONDEUR_PILE); @@ -3868,7 +3813,7 @@ debug_memoire_retrait(void *pointeur) if (element_courant == NULL) { - uprintf("[%d-%llu] ILLEGAL POINTER\n", + uprintf("[%d-%llu] ILLEGAL POINTER (free)\n", getpid(), (unsigned long long) pthread_self()); # ifdef __BACKTRACE BACKTRACE(PROFONDEUR_PILE);