Diff for /rpl/src/gestion_objets.c between versions 1.75 and 1.76

version 1.75, 2011/11/26 10:01:26 version 1.76, 2011/11/26 13:05:03
Line 544  allocation(struct_processus *s_etat_proc Line 544  allocation(struct_processus *s_etat_proc
                 return(NULL);                  return(NULL);
             }              }
   
               (*((struct_mutex *) (*s_objet).objet)).tid = pthread_self();
             break;              break;
         }          }
   
Line 1103  liberation(struct_processus *s_etat_proc Line 1104  liberation(struct_processus *s_etat_proc
                 return;                  return;
             }              }
   
               if (pthread_mutex_trylock(&((*((struct_mutex *)
                       (*s_objet).objet)).mutex)) == 0)
               {
                   // On a pu verrouiller le mutex. Il faut donc spécifier le tid.
                   (*((struct_mutex *) (*s_objet).objet)).tid = pthread_self();
               }
   
               if (pthread_equal(pthread_self(),
                       (*((struct_mutex *) (*s_objet).objet)).tid) != 0)
               {
                   pthread_mutex_unlock(&((*((struct_mutex *)
                           (*s_objet).objet)).mutex));
               }
               else
               {
                   (*s_etat_processus).erreur_systeme =
                           d_es_mutex_acquis_autre_thread;
                   return;
               }
   
               pthread_mutex_destroy(&((*((struct_mutex *)
                       (*s_objet).objet)).mutex));
             free((struct_mutex *) (*s_objet).objet);              free((struct_mutex *) (*s_objet).objet);
             break;              break;
         }          }
Line 2218  copie_objet(struct_processus *s_etat_pro Line 2241  copie_objet(struct_processus *s_etat_pro
         {          {
             // La duplication d'un mutex renvoie le même objet.              // La duplication d'un mutex renvoie le même objet.
             incrementation_atomique(s_objet);              incrementation_atomique(s_objet);
             break;              return(s_objet);
         }          }
   
         case NOM :          case NOM :

Removed from v.1.75  
changed lines
  Added in v.1.76


CVSweb interface <joel.bertrand@systella.fr>