--- rpl/src/gestion_objets.c 2017/06/28 09:20:31 1.131 +++ rpl/src/gestion_objets.c 2017/06/29 12:33:34 1.132 @@ -343,6 +343,8 @@ allocation(struct_processus *s_etat_proc } (*s_objet).type = type; + (*s_objet).extension_type = 0; + (*s_objet).descripteur_bibliotheque = NULL; switch(type) { @@ -434,6 +436,12 @@ allocation(struct_processus *s_etat_proc break; } + case EXT : + { + // Aucune allocation + break; + } + case FCT : { if ((*s_etat_processus).pointeur_fct > 0) @@ -950,6 +958,19 @@ liberation(struct_processus *s_etat_proc break; } + case EXT : + { + if (decrementation_atomique(s_objet) > 0) + { + return; + } + + BUG((*s_objet).descripteur_bibliotheque == NULL, + pthread_mutex_unlock(&((*s_objet).mutex)), + printf("(*s_objet).liberation==NULL\n")); + break; + } + case FCH : { if (decrementation_atomique(s_objet) > 0)