Diff for /rpl/src/instructions_r2.c between versions 1.14 and 1.45

version 1.14, 2010/08/06 15:33:02 version 1.45, 2012/12/18 13:19:37
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.18    RPL/2 (R) version 4.1.12
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2012 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 434  instruction_return(struct_processus *s_e Line 434  instruction_return(struct_processus *s_e
                         (strcmp(instruction_majuscule, "DO") == 0) ||                          (strcmp(instruction_majuscule, "DO") == 0) ||
                         (strcmp(instruction_majuscule, "WHILE") == 0) ||                          (strcmp(instruction_majuscule, "WHILE") == 0) ||
                         (strcmp(instruction_majuscule, "FOR") == 0) ||                          (strcmp(instruction_majuscule, "FOR") == 0) ||
                           (strcmp(instruction_majuscule, "FORALL") == 0) ||
                         (strcmp(instruction_majuscule, "START") == 0) ||                          (strcmp(instruction_majuscule, "START") == 0) ||
                         (strcmp(instruction_majuscule, "SELECT") == 0)                          (strcmp(instruction_majuscule, "SELECT") == 0) ||
                           (strcmp(instruction_majuscule, "CRITICAL") == 0)
                         || (strcmp(instruction_majuscule, "CASE") == 0)                          || (strcmp(instruction_majuscule, "CASE") == 0)
                         || (strcmp(instruction_majuscule, "<<") == 0))                          || (strcmp(instruction_majuscule, "<<") == 0))
                 {                  {
Line 444  instruction_return(struct_processus *s_e Line 446  instruction_return(struct_processus *s_e
                         analyse(s_etat_processus, NULL);                          analyse(s_etat_processus, NULL);
                     }                      }
                     else if ((strcmp(instruction_majuscule, "FOR") == 0) ||                      else if ((strcmp(instruction_majuscule, "FOR") == 0) ||
                               (strcmp(instruction_majuscule, "FORALL") == 0) ||
                             (strcmp(instruction_majuscule, "START") == 0))                              (strcmp(instruction_majuscule, "START") == 0))
                     {                      {
                         empilement_pile_systeme(s_etat_processus);                          empilement_pile_systeme(s_etat_processus);
Line 501  instruction_return(struct_processus *s_e Line 504  instruction_return(struct_processus *s_e
                         }                          }
                     }                      }
                     else if (((strcmp(instruction_majuscule, "NEXT") == 0) ||                      else if (((strcmp(instruction_majuscule, "NEXT") == 0) ||
                                 (strcmp(instruction_majuscule, "STEP") == 0)) &&                              (strcmp(instruction_majuscule, "STEP") == 0)) &&
                                 ((*(*s_etat_processus).l_base_pile_systeme)                              ((*(*s_etat_processus).l_base_pile_systeme)
                                 .type_cloture != 'L'))                              .type_cloture != 'L'))
                     {                      {
                         /*                          /*
                          * Libération des compteurs de boucle.                           * Libération des compteurs de boucle.
                          */                           */
   
                         presence_compteur = ((*(*s_etat_processus)                          presence_compteur = (((*(*s_etat_processus)
                                 .l_base_pile_systeme).type_cloture == 'F')                                  .l_base_pile_systeme).type_cloture == 'F') ||
                                 ? d_vrai : d_faux;                                  ((*(*s_etat_processus).l_base_pile_systeme)
                                   .type_cloture == 'A')) ? d_vrai : d_faux;
   
                         if (((*(*s_etat_processus).l_base_pile_systeme)                          if (((*(*s_etat_processus).l_base_pile_systeme)
                                 .type_cloture != 'S') &&                                  .type_cloture != 'S') &&
Line 534  instruction_return(struct_processus *s_e Line 538  instruction_return(struct_processus *s_e
                                 return;                                  return;
                             }                              }
   
                             if (((*s_etat_processus).s_liste_variables                              if ((*(*s_etat_processus)
                                     [(*s_etat_processus)                                      .pointeur_variable_courante).objet == NULL)
                                     .position_variable_courante]).objet == NULL)  
                             {                              {
                                 (*s_etat_processus).erreur_systeme = d_es;                                  (*s_etat_processus).erreur_systeme = d_es;
                                 (*s_etat_processus).erreur_execution =                                  (*s_etat_processus).erreur_execution =
Line 544  instruction_return(struct_processus *s_e Line 547  instruction_return(struct_processus *s_e
                                 return;                                  return;
                             }                              }
   
                             (*(*s_etat_processus).l_base_pile_systeme)                              (*s_etat_processus).niveau_courant--;
                                     .indice_boucle = ((*s_etat_processus)  
                                     .s_liste_variables[(*s_etat_processus)  
                                     .position_variable_courante]).objet;  
   
                             if (presence_compteur == d_vrai)                              if (retrait_variables_par_niveau(
                                       s_etat_processus) == d_erreur)
                             {                              {
                                 (*s_etat_processus).niveau_courant--;                                  return;
   
                                 if (retrait_variable_par_niveau(  
                                         s_etat_processus) == d_erreur)  
                                 {  
                                     return;  
                                 }  
                             }                              }
                         }                          }
   
                         (*(*s_etat_processus).l_base_pile_systeme)  
                                 .indice_boucle = NULL;  
   
                         depilement_pile_systeme(s_etat_processus);                          depilement_pile_systeme(s_etat_processus);
   
                         if ((*s_etat_processus).erreur_systeme != d_es)                          if ((*s_etat_processus).erreur_systeme != d_es)
Line 573  instruction_return(struct_processus *s_e Line 565  instruction_return(struct_processus *s_e
                     }                      }
                     else                      else
                     {                      {
                           if ((*s_etat_processus).l_base_pile_systeme == NULL)
                           {
                               (*s_etat_processus).erreur_systeme =
                                       d_es_processus;
                               return;
                           }
   
                           if ((*(*s_etat_processus).l_base_pile_systeme)
                                   .type_cloture == 'Q')
                           {
                               if (pthread_mutex_unlock(
                                       &mutex_sections_critiques) != 0)
                               {
                                   (*s_etat_processus).erreur_systeme =
                                           d_es_processus;
                                   return;
                               }
   
                               (*s_etat_processus).sections_critiques--;
                           }
   
                         depilement_pile_systeme(s_etat_processus);                          depilement_pile_systeme(s_etat_processus);
   
                         if ((*s_etat_processus).erreur_systeme != d_es)                          if ((*s_etat_processus).erreur_systeme != d_es)
Line 671  instruction_return(struct_processus *s_e Line 684  instruction_return(struct_processus *s_e
                     (fonction == instruction_do) ||                      (fonction == instruction_do) ||
                     (fonction == instruction_while) ||                      (fonction == instruction_while) ||
                     (fonction == instruction_for) ||                      (fonction == instruction_for) ||
                       (fonction == instruction_forall) ||
                     (fonction == instruction_start) ||                      (fonction == instruction_start) ||
                     (fonction == instruction_select) ||                      (fonction == instruction_select) ||
                       (fonction == instruction_critical) ||
                     (fonction == instruction_case) ||                      (fonction == instruction_case) ||
                     (fonction == instruction_vers_niveau_superieur))                      (fonction == instruction_vers_niveau_superieur))
             {              {
Line 682  instruction_return(struct_processus *s_e Line 697  instruction_return(struct_processus *s_e
                             instruction_vers_niveau_superieur);                              instruction_vers_niveau_superieur);
                 }                  }
                 else if ((fonction == instruction_for) ||                  else if ((fonction == instruction_for) ||
                           (fonction == instruction_forall) ||
                         (fonction == instruction_start))                          (fonction == instruction_start))
                 {                  {
                     empilement_pile_systeme(s_etat_processus);                      empilement_pile_systeme(s_etat_processus);
Line 743  instruction_return(struct_processus *s_e Line 759  instruction_return(struct_processus *s_e
                      * Libération des compteurs de boucle.                       * Libération des compteurs de boucle.
                      */                       */
   
                     presence_compteur = ((*(*s_etat_processus)                      presence_compteur = (((*(*s_etat_processus)
                             .l_base_pile_systeme).type_cloture == 'F')                              .l_base_pile_systeme).type_cloture == 'F') ||
                             ? d_vrai : d_faux;                              ((*(*s_etat_processus).l_base_pile_systeme)
                               .type_cloture == 'A')) ? d_vrai : d_faux;
   
                     if (((*(*s_etat_processus).l_base_pile_systeme)                      if (((*(*s_etat_processus).l_base_pile_systeme)
                             .type_cloture != 'S') &&                              .type_cloture != 'S') &&
Line 768  instruction_return(struct_processus *s_e Line 785  instruction_return(struct_processus *s_e
                             return;                              return;
                         }                          }
   
                         if ((*s_etat_processus).s_liste_variables                          if ((*(*s_etat_processus).pointeur_variable_courante)
                                 [(*s_etat_processus).position_variable_courante]  
                                 .objet == NULL)                                  .objet == NULL)
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es;                              (*s_etat_processus).erreur_systeme = d_es;
Line 778  instruction_return(struct_processus *s_e Line 794  instruction_return(struct_processus *s_e
                             return;                              return;
                         }                          }
   
                         (*(*s_etat_processus).l_base_pile_systeme)                          (*s_etat_processus).niveau_courant--;
                                 .indice_boucle = ((*s_etat_processus)  
                                 .s_liste_variables[(*s_etat_processus)  
                                 .position_variable_courante]).objet;  
   
                         if (presence_compteur == d_vrai)                          if (retrait_variables_par_niveau(s_etat_processus)
                                   == d_erreur)
                         {                          {
                             (*s_etat_processus).niveau_courant--;                              return;
   
                             if (retrait_variable_par_niveau(s_etat_processus)  
                                     == d_erreur)  
                             {  
                                 return;  
                             }  
                         }                          }
                     }                      }
   
                     (*(*s_etat_processus).l_base_pile_systeme)  
                             .indice_boucle = NULL;  
   
                     depilement_pile_systeme(s_etat_processus);                      depilement_pile_systeme(s_etat_processus);
                 }                  }
                 else                  else
                 {                  {
                       if ((*s_etat_processus).l_base_pile_systeme == NULL)
                       {
                           (*s_etat_processus).erreur_systeme =
                                   d_es_processus;
                           return;
                       }
   
                       if ((*(*s_etat_processus).l_base_pile_systeme)
                               .type_cloture == 'Q')
                       {
                           if (pthread_mutex_unlock(
                                   &mutex_sections_critiques) != 0)
                           {
                               (*s_etat_processus).erreur_systeme =
                                       d_es_processus;
                               return;
                           }
   
                           (*s_etat_processus).sections_critiques--;
                       }
   
                     depilement_pile_systeme(s_etat_processus);                      depilement_pile_systeme(s_etat_processus);
   
                     if ((*s_etat_processus).erreur_systeme != d_es)                      if ((*s_etat_processus).erreur_systeme != d_es)
Line 940  instruction_rdm(struct_processus *s_etat Line 966  instruction_rdm(struct_processus *s_etat
   
         liberation(s_etat_processus, s_objet_initial);          liberation(s_etat_processus, s_objet_initial);
   
         if ((*s_etat_processus).s_liste_variables[(*s_etat_processus)          if ((*(*s_etat_processus).pointeur_variable_courante)
                 .position_variable_courante].variable_verrouillee == d_vrai)                  .variable_verrouillee == d_vrai)
         {          {
             (*s_etat_processus).erreur_execution = d_ex_variable_verrouillee;              (*s_etat_processus).erreur_execution = d_ex_variable_verrouillee;
   
Line 949  instruction_rdm(struct_processus *s_etat Line 975  instruction_rdm(struct_processus *s_etat
             return;              return;
         }          }
   
         s_objet_initial = (*s_etat_processus).s_liste_variables          s_objet_initial = (*(*s_etat_processus).pointeur_variable_courante)
                 [(*s_etat_processus).position_variable_courante].objet;                  .objet;
   
         if (s_objet_initial == NULL)          if (s_objet_initial == NULL)
         {          {
             if (pthread_mutex_lock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             if (recherche_variable_partagee(s_etat_processus,              if (recherche_variable_partagee(s_etat_processus,
                     (*s_etat_processus).s_liste_variables                      (*(*s_etat_processus).pointeur_variable_courante).nom,
                     [(*s_etat_processus).position_variable_courante].nom,                      (*(*s_etat_processus).pointeur_variable_courante)
                     (*s_etat_processus).s_liste_variables                      .variable_partagee, (*(*s_etat_processus)
                     [(*s_etat_processus).position_variable_courante]                      .pointeur_variable_courante).origine) == NULL)
                     .variable_partagee, (*s_etat_processus).s_liste_variables  
                     [(*s_etat_processus).position_variable_courante].origine)  
                     == d_faux)  
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                         .s_liste_variables_partagees).mutex)) != 0)  
                 {  
                     (*s_etat_processus).erreur_systeme = d_es_processus;  
                     return;  
                 }  
   
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
                 (*s_etat_processus).erreur_execution =                  (*s_etat_processus).erreur_execution =
                         d_ex_variable_non_definie;                          d_ex_variable_non_definie;
Line 999  instruction_rdm(struct_processus *s_etat Line 1008  instruction_rdm(struct_processus *s_etat
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 1031  instruction_rdm(struct_processus *s_etat Line 1040  instruction_rdm(struct_processus *s_etat
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 1061  instruction_rdm(struct_processus *s_etat Line 1070  instruction_rdm(struct_processus *s_etat
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 1084  instruction_rdm(struct_processus *s_etat Line 1093  instruction_rdm(struct_processus *s_etat
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 1121  instruction_rdm(struct_processus *s_etat Line 1130  instruction_rdm(struct_processus *s_etat
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 1150  instruction_rdm(struct_processus *s_etat Line 1159  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1171  instruction_rdm(struct_processus *s_etat Line 1180  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1208  instruction_rdm(struct_processus *s_etat Line 1217  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1229  instruction_rdm(struct_processus *s_etat Line 1238  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1267  instruction_rdm(struct_processus *s_etat Line 1276  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1289  instruction_rdm(struct_processus *s_etat Line 1298  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1336  instruction_rdm(struct_processus *s_etat Line 1345  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1357  instruction_rdm(struct_processus *s_etat Line 1366  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1407  instruction_rdm(struct_processus *s_etat Line 1416  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1428  instruction_rdm(struct_processus *s_etat Line 1437  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1479  instruction_rdm(struct_processus *s_etat Line 1488  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1501  instruction_rdm(struct_processus *s_etat Line 1510  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1556  instruction_rdm(struct_processus *s_etat Line 1565  instruction_rdm(struct_processus *s_etat
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 1594  instruction_rdm(struct_processus *s_etat Line 1603  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1618  instruction_rdm(struct_processus *s_etat Line 1627  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1638  instruction_rdm(struct_processus *s_etat Line 1647  instruction_rdm(struct_processus *s_etat
                     if (variable_partagee == d_vrai)                      if (variable_partagee == d_vrai)
                     {                      {
                         if (pthread_mutex_unlock(&((*(*s_etat_processus)                          if (pthread_mutex_unlock(&((*(*s_etat_processus)
                                 .s_liste_variables_partagees).mutex)) != 0)                                  .pointeur_variable_partagee_courante).mutex))
                                   != 0)
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es_processus;                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             return;                              return;
Line 1679  instruction_rdm(struct_processus *s_etat Line 1689  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1703  instruction_rdm(struct_processus *s_etat Line 1713  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1723  instruction_rdm(struct_processus *s_etat Line 1733  instruction_rdm(struct_processus *s_etat
                     if (variable_partagee == d_vrai)                      if (variable_partagee == d_vrai)
                     {                      {
                         if (pthread_mutex_unlock(&((*(*s_etat_processus)                          if (pthread_mutex_unlock(&((*(*s_etat_processus)
                                 .s_liste_variables_partagees).mutex)) != 0)                                  .pointeur_variable_partagee_courante).mutex))
                                   != 0)
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es_processus;                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             return;                              return;
Line 1764  instruction_rdm(struct_processus *s_etat Line 1775  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1788  instruction_rdm(struct_processus *s_etat Line 1799  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1809  instruction_rdm(struct_processus *s_etat Line 1820  instruction_rdm(struct_processus *s_etat
                     if (variable_partagee == d_vrai)                      if (variable_partagee == d_vrai)
                     {                      {
                         if (pthread_mutex_unlock(&((*(*s_etat_processus)                          if (pthread_mutex_unlock(&((*(*s_etat_processus)
                                 .s_liste_variables_partagees).mutex)) != 0)                                  .pointeur_variable_partagee_courante).mutex))
                                   != 0)
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es_processus;                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             return;                              return;
Line 1861  instruction_rdm(struct_processus *s_etat Line 1873  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1885  instruction_rdm(struct_processus *s_etat Line 1897  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1908  instruction_rdm(struct_processus *s_etat Line 1920  instruction_rdm(struct_processus *s_etat
                     if (variable_partagee == d_vrai)                      if (variable_partagee == d_vrai)
                     {                      {
                         if (pthread_mutex_unlock(&((*(*s_etat_processus)                          if (pthread_mutex_unlock(&((*(*s_etat_processus)
                                 .s_liste_variables_partagees).mutex)) != 0)                                  .pointeur_variable_partagee_courante).mutex))
                                   != 0)
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es_processus;                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             return;                              return;
Line 1960  instruction_rdm(struct_processus *s_etat Line 1973  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1984  instruction_rdm(struct_processus *s_etat Line 1997  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 2007  instruction_rdm(struct_processus *s_etat Line 2020  instruction_rdm(struct_processus *s_etat
                     if (variable_partagee == d_vrai)                      if (variable_partagee == d_vrai)
                     {                      {
                         if (pthread_mutex_unlock(&((*(*s_etat_processus)                          if (pthread_mutex_unlock(&((*(*s_etat_processus)
                                 .s_liste_variables_partagees).mutex)) != 0)                                  .pointeur_variable_partagee_courante).mutex))
                                   != 0)
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es_processus;                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             return;                              return;
Line 2059  instruction_rdm(struct_processus *s_etat Line 2073  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 2083  instruction_rdm(struct_processus *s_etat Line 2097  instruction_rdm(struct_processus *s_etat
                 if (variable_partagee == d_vrai)                  if (variable_partagee == d_vrai)
                 {                  {
                     if (pthread_mutex_unlock(&((*(*s_etat_processus)                      if (pthread_mutex_unlock(&((*(*s_etat_processus)
                             .s_liste_variables_partagees).mutex)) != 0)                              .pointeur_variable_partagee_courante).mutex)) != 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 2106  instruction_rdm(struct_processus *s_etat Line 2120  instruction_rdm(struct_processus *s_etat
                     if (variable_partagee == d_vrai)                      if (variable_partagee == d_vrai)
                     {                      {
                         if (pthread_mutex_unlock(&((*(*s_etat_processus)                          if (pthread_mutex_unlock(&((*(*s_etat_processus)
                                 .s_liste_variables_partagees).mutex)) != 0)                                  .pointeur_variable_partagee_courante).mutex))
                                   != 0)
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es_processus;                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             return;                              return;
Line 2164  instruction_rdm(struct_processus *s_etat Line 2179  instruction_rdm(struct_processus *s_etat
             if (variable_partagee == d_vrai)              if (variable_partagee == d_vrai)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)                  if (pthread_mutex_unlock(&((*(*s_etat_processus)
                         .s_liste_variables_partagees).mutex)) != 0)                          .pointeur_variable_partagee_courante).mutex)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2199  instruction_rdm(struct_processus *s_etat Line 2214  instruction_rdm(struct_processus *s_etat
     {      {
         if (variable_partagee == d_vrai)          if (variable_partagee == d_vrai)
         {          {
             (*(*s_etat_processus).s_liste_variables_partagees).table              (*(*s_etat_processus).pointeur_variable_partagee_courante).objet =
                     [(*(*s_etat_processus).s_liste_variables_partagees)                      s_objet_redimensionne;
                     .position_variable].objet = s_objet_redimensionne;  
   
             if (pthread_mutex_unlock(&((*(*s_etat_processus)              if (pthread_mutex_unlock(&((*(*s_etat_processus)
                     .s_liste_variables_partagees).mutex)) != 0)                      .pointeur_variable_partagee_courante).mutex)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 2212  instruction_rdm(struct_processus *s_etat Line 2226  instruction_rdm(struct_processus *s_etat
         }          }
         else          else
         {          {
             (*s_etat_processus).s_liste_variables              (*(*s_etat_processus).pointeur_variable_courante).objet =
                     [(*s_etat_processus).position_variable_courante].objet =  
                     s_objet_redimensionne;                      s_objet_redimensionne;
         }          }
     }      }

Removed from v.1.14  
changed lines
  Added in v.1.45


CVSweb interface <joel.bertrand@systella.fr>