Diff for /rpl/src/instructions_d5.c between versions 1.118 and 1.126

version 1.118, 2014/07/17 08:07:20 version 1.126, 2015/02/01 22:49:28
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.19    RPL/2 (R) version 4.1.20
   Copyright (C) 1989-2014 Dr. BERTRAND Joël    Copyright (C) 1989-2015 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 767  instruction_der(struct_processus *s_etat Line 767  instruction_der(struct_processus *s_etat
             if ((s_objet_simplifie = simplification(s_etat_processus,              if ((s_objet_simplifie = simplification(s_etat_processus,
                     s_objet_resultat)) == NULL)                      s_objet_resultat)) == NULL)
             {              {
                   liberation(s_etat_processus, s_objet_resultat);
                 return;                  return;
             }              }
   
Line 1087  instruction_detach(struct_processus *s_e Line 1088  instruction_detach(struct_processus *s_e
         return;          return;
     }      }
   
       if (pthread_mutex_lock(&((*s_etat_processus).mutex_allocation_buffer)) != 0)
       {
           (*s_etat_processus).erreur_systeme = d_es_processus;
           return;
       }
   
     fflush(NULL);      fflush(NULL);
   
     /*      /*
Line 1098  instruction_detach(struct_processus *s_e Line 1105  instruction_detach(struct_processus *s_e
     (*s_argument_thread).pid = fork();      (*s_argument_thread).pid = fork();
     deverrouillage_threads_concurrents(s_etat_processus);      deverrouillage_threads_concurrents(s_etat_processus);
   
       if (pthread_mutex_unlock(&((*s_etat_processus).mutex_allocation_buffer))
               != 0)
       {
           (*s_etat_processus).erreur_systeme = d_es_processus;
           return;
       }
   
     (*s_argument_thread).thread_pere = pthread_self();      (*s_argument_thread).thread_pere = pthread_self();
     (*s_argument_thread).processus_detache = d_vrai;      (*s_argument_thread).processus_detache = d_vrai;
   
Line 1501  instruction_detach(struct_processus *s_e Line 1515  instruction_detach(struct_processus *s_e
             exit(EXIT_FAILURE);              exit(EXIT_FAILURE);
         }          }
   
   uprintf("(*s_etat_processus).evaluation_expression_compilee=%c\n", (*s_etat_processus).evaluation_expression_compilee);
         if ((*s_etat_processus).evaluation_expression_compilee == 'N')          if ((*s_etat_processus).evaluation_expression_compilee == 'N')
         {          {
             free((*s_etat_processus).instruction_courante);  //          free((*s_etat_processus).instruction_courante);
             (*s_etat_processus).instruction_courante = NULL;              (*s_etat_processus).instruction_courante = NULL;
         }          }
   
Line 2774  instruction_detach(struct_processus *s_e Line 2789  instruction_detach(struct_processus *s_e
   
         closelog();          closelog();
   
         liberation_allocateur(s_etat_processus);  
         retrait_thread(s_etat_processus);          retrait_thread(s_etat_processus);
   
         pthread_mutex_destroy(&((*s_etat_processus).mutex_pile_processus));          pthread_mutex_destroy(&((*s_etat_processus).mutex_pile_processus));
Line 2801  instruction_detach(struct_processus *s_e Line 2815  instruction_detach(struct_processus *s_e
         destruction_queue_signaux(s_etat_processus);          destruction_queue_signaux(s_etat_processus);
         liberation_contexte_cas(s_etat_processus);          liberation_contexte_cas(s_etat_processus);
         arret_thread_signaux(s_etat_processus);          arret_thread_signaux(s_etat_processus);
         free(s_etat_processus);          liberation_allocateur(s_etat_processus);
           liberation_allocateur_buffer(s_etat_processus);
           pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation_buffer));
           sys_free(s_etat_processus);
   
 #       ifdef DEBUG_MEMOIRE  #       ifdef DEBUG_MEMOIRE
         debug_memoire_verification();          debug_memoire_verification();

Removed from v.1.118  
changed lines
  Added in v.1.126


CVSweb interface <joel.bertrand@systella.fr>