Diff for /rpl/src/instructions_d5.c between versions 1.10 and 1.15

version 1.10, 2010/04/17 18:57:35 version 1.15, 2010/04/28 09:38:27
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.14    RPL/2 (R) version 4.0.15
   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 1522  instruction_detach(struct_processus *s_e Line 1522  instruction_detach(struct_processus *s_e
         (*s_etat_processus).nombre_interruptions_non_affectees = 0;          (*s_etat_processus).nombre_interruptions_non_affectees = 0;
         (*s_etat_processus).processus_detache = d_vrai;          (*s_etat_processus).processus_detache = d_vrai;
   
           liberation(s_etat_processus, (*s_etat_processus).at_exit);
           (*s_etat_processus).at_exit = NULL;
   
         for(i = 0; i < d_NOMBRE_INTERRUPTIONS; i++)          for(i = 0; i < d_NOMBRE_INTERRUPTIONS; i++)
         {          {
             liberation(s_etat_processus,              liberation(s_etat_processus,
Line 1859  instruction_detach(struct_processus *s_e Line 1862  instruction_detach(struct_processus *s_e
                                 d_ex_erreur_evaluation;                                  d_ex_erreur_evaluation;
                     }                      }
                 }                  }
                   else
                   {
                       if ((*s_etat_processus).at_exit != NULL)
                       {
                           (*s_etat_processus).var_volatile_requete_arret = 0;
                           (*s_etat_processus)
                                   .var_volatile_traitement_retarde_stop = -1;
   
                           if (evaluation(s_etat_processus,
                                   (*s_etat_processus).at_exit, 'E') == d_erreur)
                           {
                               (*s_etat_processus).erreur_execution =
                                       d_ex_erreur_evaluation;
                           }
                       }
                   }
             }              }
             else              else
             {              {
Line 1871  instruction_detach(struct_processus *s_e Line 1890  instruction_detach(struct_processus *s_e
                                 d_ex_erreur_evaluation;                                  d_ex_erreur_evaluation;
                     }                      }
                 }                  }
                   else
                   {
                       if ((*s_etat_processus).at_exit != NULL)
                       {
                           (*s_etat_processus).var_volatile_requete_arret = 0;
                           (*s_etat_processus)
                                   .var_volatile_traitement_retarde_stop = -1;
   
                           if (evaluation(s_etat_processus,
                                   (*s_etat_processus).at_exit, 'E') == d_erreur)
                           {
                               (*s_etat_processus).erreur_execution =
                                       d_ex_erreur_evaluation;
                           }
                       }
                   }
   
                 liberation(s_etat_processus, s_copie);                  liberation(s_etat_processus, s_copie);
             }              }
         }          }
   
           liberation(s_etat_processus, (*s_etat_processus).at_exit);
   
         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)
         {          {

Removed from v.1.10  
changed lines
  Added in v.1.15


CVSweb interface <joel.bertrand@systella.fr>