Diff for /rpl/src/transliteration.c between versions 1.41 and 1.42

version 1.41, 2011/09/15 17:51:44 version 1.42, 2011/09/20 08:56:24
Line 396  localisation_courante(struct_processus * Line 396  localisation_courante(struct_processus *
              * Récupération de la valeur de retour du processus détaché               * Récupération de la valeur de retour du processus détaché
              */               */
   
             if (pthread_mutex_unlock(&((*s_etat_processus).mutex_fork)) != 0)              if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 404  localisation_courante(struct_processus * Line 404  localisation_courante(struct_processus *
   
             if (waitpid(pid, &status, 0) == -1)              if (waitpid(pid, &status, 0) == -1)
             {              {
                 if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) != 0)                  if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 414  localisation_courante(struct_processus * Line 414  localisation_courante(struct_processus *
                 return;                  return;
             }              }
   
             if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) != 0)              if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 434  localisation_courante(struct_processus * Line 434  localisation_courante(struct_processus *
   
         tampon[0] = d_code_fin_chaine;          tampon[0] = d_code_fin_chaine;
   
         if (pthread_mutex_unlock(&((*s_etat_processus).mutex_fork)) != 0)          if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_processus;              (*s_etat_processus).erreur_systeme = d_es_processus;
             return;              return;
Line 444  localisation_courante(struct_processus * Line 444  localisation_courante(struct_processus *
                 pipes_sortie[0], &(tampon[pointeur]),                  pipes_sortie[0], &(tampon[pointeur]),
                 longueur_lecture)) > 0)                  longueur_lecture)) > 0)
         {          {
             if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) != 0)              if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 463  localisation_courante(struct_processus * Line 463  localisation_courante(struct_processus *
                 return;                  return;
             }              }
   
             if (pthread_mutex_unlock(&((*s_etat_processus).mutex_fork)) != 0)              if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
             }              }
         }          }
   
         if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) != 0)          if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_processus;              (*s_etat_processus).erreur_systeme = d_es_processus;
             return;              return;
Line 533  localisation_courante(struct_processus * Line 533  localisation_courante(struct_processus *
   
         free(arguments);          free(arguments);
   
         if (pthread_mutex_unlock(&((*s_etat_processus).mutex_fork)) != 0)          if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_processus;              (*s_etat_processus).erreur_systeme = d_es_processus;
             return;              return;
Line 555  localisation_courante(struct_processus * Line 555  localisation_courante(struct_processus *
             strcpy((*s_etat_processus).localisation, d_locale);              strcpy((*s_etat_processus).localisation, d_locale);
         }          }
   
         if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) != 0)          if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_processus;              (*s_etat_processus).erreur_systeme = d_es_processus;
             return;              return;

Removed from v.1.41  
changed lines
  Added in v.1.42


CVSweb interface <joel.bertrand@systella.fr>