Diff for /rpl/src/instructions_d5.c between versions 1.27 and 1.32

version 1.27, 2010/06/17 11:00:23 version 1.32, 2010/07/31 10:34:17
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.16    RPL/2 (R) version 4.0.18
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2010 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
Line 1589  instruction_detach(struct_processus *s_e Line 1589  instruction_detach(struct_processus *s_e
   
         liberation(s_etat_processus, (*s_etat_processus).at_exit);          liberation(s_etat_processus, (*s_etat_processus).at_exit);
         (*s_etat_processus).at_exit = NULL;          (*s_etat_processus).at_exit = NULL;
           liberation(s_etat_processus, (*s_etat_processus).at_poke);
           (*s_etat_processus).at_poke = NULL;
           (*s_etat_processus).traitement_at_poke = 'N';
   
         for(i = 0; i < d_NOMBRE_INTERRUPTIONS; i++)          for(i = 0; i < d_NOMBRE_INTERRUPTIONS; i++)
         {          {
Line 1754  instruction_detach(struct_processus *s_e Line 1757  instruction_detach(struct_processus *s_e
                 }                  }
   
                 free(s_argument_thread2);                  free(s_argument_thread2);
                   free((*(*l_element_courant).donnee).objet);
                   free((*l_element_courant).donnee);
             }              }
   
             l_element_suivant = (*l_element_courant).suivant;              l_element_suivant = (*l_element_courant).suivant;
Line 2089  instruction_detach(struct_processus *s_e Line 2094  instruction_detach(struct_processus *s_e
         }          }
   
         liberation(s_etat_processus, (*s_etat_processus).at_exit);          liberation(s_etat_processus, (*s_etat_processus).at_exit);
           liberation(s_etat_processus, (*s_etat_processus).at_poke);
   
         l_element_courant = (*s_etat_processus).liste_mutexes;          l_element_courant = (*s_etat_processus).liste_mutexes;
         while(l_element_courant != NULL)          while(l_element_courant != NULL)
Line 2847  instruction_detach(struct_processus *s_e Line 2853  instruction_detach(struct_processus *s_e
         retrait_thread(s_etat_processus);          retrait_thread(s_etat_processus);
   
         pthread_mutex_destroy(&((*s_etat_processus).mutex));          pthread_mutex_destroy(&((*s_etat_processus).mutex));
           pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation));
         pthread_mutex_destroy(&((*s_etat_processus).protection_liste_mutexes));          pthread_mutex_destroy(&((*s_etat_processus).protection_liste_mutexes));
   
         pthread_key_delete(semaphore_fork_processus_courant);          pthread_key_delete(semaphore_fork_processus_courant);

Removed from v.1.27  
changed lines
  Added in v.1.32


CVSweb interface <joel.bertrand@systella.fr>