Diff for /rpl/src/rpl.c between versions 1.144 and 1.155

version 1.144, 2013/05/23 12:45:08 version 1.155, 2014/04/25 08:18:59
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.14    RPL/2 (R) version 4.1.18
   Copyright (C) 1989-2013 Dr. BERTRAND Joël    Copyright (C) 1989-2014 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 260  rplinit(int argc, char *argv[], char *en Line 260  rplinit(int argc, char *argv[], char *en
   
     pthread_mutexattr_init(&attributs_mutex);      pthread_mutexattr_init(&attributs_mutex);
     pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_NORMAL);      pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_NORMAL);
     pthread_mutex_init(&((*s_etat_processus).mutex), &attributs_mutex);      pthread_mutex_init(&((*s_etat_processus).mutex_pile_processus),
               &attributs_mutex);
       pthread_mutexattr_destroy(&attributs_mutex);
   
       pthread_mutexattr_init(&attributs_mutex);
       pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_NORMAL);
       pthread_mutex_init(&((*s_etat_processus).mutex_interruptions),
               &attributs_mutex);
       pthread_mutexattr_destroy(&attributs_mutex);
   
       pthread_mutexattr_init(&attributs_mutex);
       pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_NORMAL);
       pthread_mutex_init(&((*s_etat_processus).mutex_signaux),
               &attributs_mutex);
     pthread_mutexattr_destroy(&attributs_mutex);      pthread_mutexattr_destroy(&attributs_mutex);
   
     pthread_mutexattr_init(&attributs_mutex);      pthread_mutexattr_init(&attributs_mutex);
Line 285  rplinit(int argc, char *argv[], char *en Line 298  rplinit(int argc, char *argv[], char *en
         if (((*s_etat_processus).semaphore_fork = sem_init3(0, getpid(),          if (((*s_etat_processus).semaphore_fork = sem_init3(0, getpid(),
                 pthread_self(), SEM_FORK)) == SEM_FAILED)                  pthread_self(), SEM_FORK)) == SEM_FAILED)
         {          {
 #           ifndef SEMAPHORES_NOMMES              sem_post(semaphore_gestionnaires_signaux);
                 sem_post(&semaphore_gestionnaires_signaux);              sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                 sem_destroy(&semaphore_gestionnaires_signaux);                      SEM_SIGNAUX);
 #           else  
                 sem_post(semaphore_gestionnaires_signaux);  
                 sem_destroy2(semaphore_gestionnaires_signaux, getpid(),  
                         SEM_SIGNAUX);  
 #           endif  
   
             liberation(contexte_cas(s_etat_processus);              liberation_contexte_cas(s_etat_processus);
   
             if ((*s_etat_processus).langue == 'F')              if ((*s_etat_processus).langue == 'F')
             {              {
Line 333  rplinit(int argc, char *argv[], char *en Line 341  rplinit(int argc, char *argv[], char *en
             sem_post(semaphore_gestionnaires_signaux);              sem_post(semaphore_gestionnaires_signaux);
             sem_destroy2(semaphore_gestionnaires_signaux, getpid(),              sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                     SEM_SIGNAUX);                      SEM_SIGNAUX);
             sem_destroy3((*s_etat_processus).semphore_fork, getpid(),              sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                     pthread_self(), SEM_FORK);                      pthread_self(), SEM_FORK);
 #       endif  #       endif
   
Line 357  rplinit(int argc, char *argv[], char *en Line 365  rplinit(int argc, char *argv[], char *en
     }      }
     else      else
     {      {
 #       ifndef SEMAPHORES_NOMMES  
             sem_post(&((*s_etat_processus).semaphore_fork));  
             sem_post(&semaphore_gestionnaires_signaux);  
             sem_destroy(&semaphore_gestionnaires_signaux);  
             sem_destroy(&((*s_etat_processus).semaphore_fork));  
 #       else  
             sem_post((*s_etat_processus).semaphore_fork);  
             sem_post(semaphore_gestionnaires_signaux);  
             sem_destroy2(semaphore_gestionnaires_signaux, getpid(),  
                     SEM_SIGNAUX);  
             sem_destroy3((*s_etat_processus).semphore_fork, getpid(),  
                     pthread_self(), SEM_FORK);  
 #       endif  
   
         liberation_contexte_cas(s_etat_processus);  
         liberation_queue_signaux(s_etat_processus);  
   
         if (((*s_etat_processus).localisation = malloc((strlen(d_locale)          if (((*s_etat_processus).localisation = malloc((strlen(d_locale)
                 + 1) * sizeof(unsigned char))) == NULL)                  + 1) * sizeof(unsigned char))) == NULL)
         {          {
   #           ifndef SEMAPHORES_NOMMES
                   sem_post(&((*s_etat_processus).semaphore_fork));
                   sem_post(&semaphore_gestionnaires_signaux);
                   sem_destroy(&semaphore_gestionnaires_signaux);
                   sem_destroy(&((*s_etat_processus).semaphore_fork));
   #           else
                   sem_post((*s_etat_processus).semaphore_fork);
                   sem_post(semaphore_gestionnaires_signaux);
                   sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                           SEM_SIGNAUX);
                   sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                           pthread_self(), SEM_FORK);
   #           endif
   
               liberation_contexte_cas(s_etat_processus);
               liberation_queue_signaux(s_etat_processus);
   
             if ((*s_etat_processus).langue == 'F')              if ((*s_etat_processus).langue == 'F')
             {              {
                 uprintf("+++Système : Mémoire insuffisante\n");                  uprintf("+++Système : Mémoire insuffisante\n");
Line 409  rplinit(int argc, char *argv[], char *en Line 417  rplinit(int argc, char *argv[], char *en
                 sem_post(semaphore_gestionnaires_signaux);                  sem_post(semaphore_gestionnaires_signaux);
                 sem_destroy2(semaphore_gestionnaires_signaux, getpid(),                  sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                         SEM_SIGNAUX);                          SEM_SIGNAUX);
                 sem_destroy3((*s_etat_processus).semphore_fork, getpid(),                  sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                         pthread_self(), SEM_FORK);                          pthread_self(), SEM_FORK);
 #           endif  #           endif
   
Line 431  rplinit(int argc, char *argv[], char *en Line 439  rplinit(int argc, char *argv[], char *en
         strcpy((*s_etat_processus).localisation, d_locale);          strcpy((*s_etat_processus).localisation, d_locale);
     }      }
   
     printf("+++RPL/2 (R) version %s (%s)\n", d_version_rpl,      if (resultats == NULL) // Appel direct
             ((*s_etat_processus).langue == 'F') ? d_date_rpl : d_date_en_rpl);  
   
     if ((*s_etat_processus).langue == 'F')  
     {  
         printf("+++Copyright (C) 1989 à 2012, 2013 BERTRAND Joël\n");  
     }  
     else  
     {      {
         printf("+++Copyright (C) 1989 to 2012, 2013 BERTRAND Joel\n");          printf("+++RPL/2 (R) version %s (%s)\n", d_version_rpl,
                   ((*s_etat_processus).langue == 'F')
                   ? d_date_rpl : d_date_en_rpl);
   
           if ((*s_etat_processus).langue == 'F')
           {
               printf("+++Copyright (C) 1989 à 2013, 2014 BERTRAND Joël\n");
           }
           else
           {
               printf("+++Copyright (C) 1989 to 2013, 2014 BERTRAND Joel\n");
           }
     }      }
   
     if (getenv("HOME") != NULL)      if (getenv("HOME") != NULL)
Line 479  rplinit(int argc, char *argv[], char *en Line 491  rplinit(int argc, char *argv[], char *en
                 sem_post(semaphore_gestionnaires_signaux);                  sem_post(semaphore_gestionnaires_signaux);
                 sem_destroy2(semaphore_gestionnaires_signaux, getpid(),                  sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                         SEM_SIGNAUX);                          SEM_SIGNAUX);
                 sem_destroy3((*s_etat_processus).semphore_fork, getpid(),                  sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                         pthread_self(), SEM_FORK);                          pthread_self(), SEM_FORK);
 #           endif  #           endif
   
Line 526  rplinit(int argc, char *argv[], char *en Line 538  rplinit(int argc, char *argv[], char *en
             sem_post(semaphore_gestionnaires_signaux);              sem_post(semaphore_gestionnaires_signaux);
             sem_destroy2(semaphore_gestionnaires_signaux, getpid(),              sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                     SEM_SIGNAUX);                      SEM_SIGNAUX);
             sem_destroy3((*s_etat_processus).semphore_fork, getpid(),              sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                     pthread_self(), SEM_FORK);                      pthread_self(), SEM_FORK);
 #       endif  #       endif
   
Line 567  rplinit(int argc, char *argv[], char *en Line 579  rplinit(int argc, char *argv[], char *en
             sem_post(semaphore_gestionnaires_signaux);              sem_post(semaphore_gestionnaires_signaux);
             sem_destroy2(semaphore_gestionnaires_signaux, getpid(),              sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                     SEM_SIGNAUX);                      SEM_SIGNAUX);
             sem_destroy3((*s_etat_processus).semphore_fork, getpid(),              sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                     pthread_self(), SEM_FORK);                      pthread_self(), SEM_FORK);
 #       endif  #       endif
   
Line 616  rplinit(int argc, char *argv[], char *en Line 628  rplinit(int argc, char *argv[], char *en
             sem_post(semaphore_gestionnaires_signaux);              sem_post(semaphore_gestionnaires_signaux);
             sem_destroy2(semaphore_gestionnaires_signaux, getpid(),              sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                     SEM_SIGNAUX);                      SEM_SIGNAUX);
             sem_destroy3((*s_etat_processus).semphore_fork, getpid(),              sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                     pthread_self(), SEM_FORK);                      pthread_self(), SEM_FORK);
 #       endif  #       endif
   
Line 654  rplinit(int argc, char *argv[], char *en Line 666  rplinit(int argc, char *argv[], char *en
             sem_post(semaphore_gestionnaires_signaux);              sem_post(semaphore_gestionnaires_signaux);
             sem_destroy2(semaphore_gestionnaires_signaux, getpid(),              sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                     SEM_SIGNAUX);                      SEM_SIGNAUX);
             sem_destroy3((*s_etat_processus).semphore_fork, getpid(),              sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                     pthread_self(), SEM_FORK);                      pthread_self(), SEM_FORK);
 #       endif  #       endif
   
Line 703  rplinit(int argc, char *argv[], char *en Line 715  rplinit(int argc, char *argv[], char *en
             sem_post(semaphore_gestionnaires_signaux);              sem_post(semaphore_gestionnaires_signaux);
             sem_destroy2(semaphore_gestionnaires_signaux, getpid(),              sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                     SEM_SIGNAUX);                      SEM_SIGNAUX);
             sem_destroy3((*s_etat_processus).semphore_fork, getpid(),              sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                     pthread_self(), SEM_FORK);                      pthread_self(), SEM_FORK);
 #       endif  #       endif
   
Line 741  rplinit(int argc, char *argv[], char *en Line 753  rplinit(int argc, char *argv[], char *en
             sem_post(semaphore_gestionnaires_signaux);              sem_post(semaphore_gestionnaires_signaux);
             sem_destroy2(semaphore_gestionnaires_signaux, getpid(),              sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                     SEM_SIGNAUX);                      SEM_SIGNAUX);
             sem_destroy3((*s_etat_processus).semphore_fork, getpid(),              sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                     pthread_self(), SEM_FORK);                      pthread_self(), SEM_FORK);
 #       endif  #       endif
   
Line 790  rplinit(int argc, char *argv[], char *en Line 802  rplinit(int argc, char *argv[], char *en
             sem_post(semaphore_gestionnaires_signaux);              sem_post(semaphore_gestionnaires_signaux);
             sem_destroy2(semaphore_gestionnaires_signaux, getpid(),              sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                     SEM_SIGNAUX);                      SEM_SIGNAUX);
             sem_destroy3((*s_etat_processus).semphore_fork, getpid(),              sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                     pthread_self(), SEM_FORK);                      pthread_self(), SEM_FORK);
 #       endif  #       endif
   
Line 831  rplinit(int argc, char *argv[], char *en Line 843  rplinit(int argc, char *argv[], char *en
             sem_post(semaphore_gestionnaires_signaux);              sem_post(semaphore_gestionnaires_signaux);
             sem_destroy2(semaphore_gestionnaires_signaux, getpid(),              sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                     SEM_SIGNAUX);                      SEM_SIGNAUX);
             sem_destroy3((*s_etat_processus).semphore_fork, getpid(),              sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                     pthread_self(), SEM_FORK);                      pthread_self(), SEM_FORK);
 #       endif  #       endif
   
Line 878  rplinit(int argc, char *argv[], char *en Line 890  rplinit(int argc, char *argv[], char *en
             sem_post(semaphore_gestionnaires_signaux);              sem_post(semaphore_gestionnaires_signaux);
             sem_destroy2(semaphore_gestionnaires_signaux, getpid(),              sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                     SEM_SIGNAUX);                      SEM_SIGNAUX);
             sem_destroy3((*s_etat_processus).semphore_fork, getpid(),              sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                     pthread_self(), SEM_FORK);                      pthread_self(), SEM_FORK);
 #       endif  #       endif
   
Line 919  rplinit(int argc, char *argv[], char *en Line 931  rplinit(int argc, char *argv[], char *en
             sem_post(semaphore_gestionnaires_signaux);              sem_post(semaphore_gestionnaires_signaux);
             sem_destroy2(semaphore_gestionnaires_signaux, getpid(),              sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                     SEM_SIGNAUX);                      SEM_SIGNAUX);
             sem_destroy3((*s_etat_processus).semphore_fork, getpid(),              sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                     pthread_self(), SEM_FORK);                      pthread_self(), SEM_FORK);
 #       endif  #       endif
   
Line 968  rplinit(int argc, char *argv[], char *en Line 980  rplinit(int argc, char *argv[], char *en
             sem_post(semaphore_gestionnaires_signaux);              sem_post(semaphore_gestionnaires_signaux);
             sem_destroy2(semaphore_gestionnaires_signaux, getpid(),              sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                     SEM_SIGNAUX);                      SEM_SIGNAUX);
             sem_destroy3((*s_etat_processus).semphore_fork, getpid(),              sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                     pthread_self(), SEM_FORK);                      pthread_self(), SEM_FORK);
 #       endif  #       endif
   
Line 1009  rplinit(int argc, char *argv[], char *en Line 1021  rplinit(int argc, char *argv[], char *en
             sem_post(semaphore_gestionnaires_signaux);              sem_post(semaphore_gestionnaires_signaux);
             sem_destroy2(semaphore_gestionnaires_signaux, getpid(),              sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                     SEM_SIGNAUX);                      SEM_SIGNAUX);
             sem_destroy3((*s_etat_processus).semphore_fork, getpid(),              sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                     pthread_self(), SEM_FORK);                      pthread_self(), SEM_FORK);
 #       endif  #       endif
   
Line 1058  rplinit(int argc, char *argv[], char *en Line 1070  rplinit(int argc, char *argv[], char *en
             sem_post(semaphore_gestionnaires_signaux);              sem_post(semaphore_gestionnaires_signaux);
             sem_destroy2(semaphore_gestionnaires_signaux, getpid(),              sem_destroy2(semaphore_gestionnaires_signaux, getpid(),
                     SEM_SIGNAUX);                      SEM_SIGNAUX);
             sem_destroy3((*s_etat_processus).semphore_fork, getpid(),              sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                     pthread_self(), SEM_FORK);                      pthread_self(), SEM_FORK);
 #       endif  #       endif
   
Line 1164  rplinit(int argc, char *argv[], char *en Line 1176  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 1208  rplinit(int argc, char *argv[], char *en Line 1220  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 1259  rplinit(int argc, char *argv[], char *en Line 1271  rplinit(int argc, char *argv[], char *en
                                             semaphore_gestionnaires_signaux,                                              semaphore_gestionnaires_signaux,
                                             getpid(), SEM_SIGNAUX);                                              getpid(), SEM_SIGNAUX);
                                     sem_destroy3((*s_etat_processus)                                      sem_destroy3((*s_etat_processus)
                                             .semphore_fork, getpid(),                                              .semaphore_fork, getpid(),
                                             pthread_self(), SEM_FORK);                                              pthread_self(), SEM_FORK);
 #                                   endif  #                                   endif
   
Line 1322  rplinit(int argc, char *argv[], char *en Line 1334  rplinit(int argc, char *argv[], char *en
                                             semaphore_gestionnaires_signaux,                                              semaphore_gestionnaires_signaux,
                                             getpid(), SEM_SIGNAUX);                                              getpid(), SEM_SIGNAUX);
                                     sem_destroy3((*s_etat_processus)                                      sem_destroy3((*s_etat_processus)
                                             .semphore_fork, getpid(),                                              .semaphore_fork, getpid(),
                                             pthread_self(), SEM_FORK);                                              pthread_self(), SEM_FORK);
 #                                   endif  #                                   endif
   
Line 1375  rplinit(int argc, char *argv[], char *en Line 1387  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 1418  rplinit(int argc, char *argv[], char *en Line 1430  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 1463  rplinit(int argc, char *argv[], char *en Line 1475  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 1508  rplinit(int argc, char *argv[], char *en Line 1520  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 1552  rplinit(int argc, char *argv[], char *en Line 1564  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 1597  rplinit(int argc, char *argv[], char *en Line 1609  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 1634  rplinit(int argc, char *argv[], char *en Line 1646  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 1671  rplinit(int argc, char *argv[], char *en Line 1683  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 1717  rplinit(int argc, char *argv[], char *en Line 1729  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 1771  rplinit(int argc, char *argv[], char *en Line 1783  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 1816  rplinit(int argc, char *argv[], char *en Line 1828  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 1853  rplinit(int argc, char *argv[], char *en Line 1865  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 1898  rplinit(int argc, char *argv[], char *en Line 1910  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 1943  rplinit(int argc, char *argv[], char *en Line 1955  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 1988  rplinit(int argc, char *argv[], char *en Line 2000  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 2025  rplinit(int argc, char *argv[], char *en Line 2037  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 2077  rplinit(int argc, char *argv[], char *en Line 2089  rplinit(int argc, char *argv[], char *en
                                             semaphore_gestionnaires_signaux,                                              semaphore_gestionnaires_signaux,
                                             getpid(), SEM_SIGNAUX);                                              getpid(), SEM_SIGNAUX);
                                     sem_destroy3((*s_etat_processus)                                      sem_destroy3((*s_etat_processus)
                                             .semphore_fork, getpid(),                                              .semaphore_fork, getpid(),
                                             pthread_self(), SEM_FORK);                                              pthread_self(), SEM_FORK);
 #                                   endif  #                                   endif
   
Line 2138  rplinit(int argc, char *argv[], char *en Line 2150  rplinit(int argc, char *argv[], char *en
                                             semaphore_gestionnaires_signaux,                                              semaphore_gestionnaires_signaux,
                                             getpid(), SEM_SIGNAUX);                                              getpid(), SEM_SIGNAUX);
                                     sem_destroy3((*s_etat_processus)                                      sem_destroy3((*s_etat_processus)
                                             .semphore_fork, getpid(),                                              .semaphore_fork, getpid(),
                                             pthread_self(), SEM_FORK);                                              pthread_self(), SEM_FORK);
 #                                   endif  #                                   endif
   
Line 2188  rplinit(int argc, char *argv[], char *en Line 2200  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 2228  rplinit(int argc, char *argv[], char *en Line 2240  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 2275  rplinit(int argc, char *argv[], char *en Line 2287  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 2327  rplinit(int argc, char *argv[], char *en Line 2339  rplinit(int argc, char *argv[], char *en
                                             semaphore_gestionnaires_signaux,                                              semaphore_gestionnaires_signaux,
                                             getpid(), SEM_SIGNAUX);                                              getpid(), SEM_SIGNAUX);
                                     sem_destroy3((*s_etat_processus)                                      sem_destroy3((*s_etat_processus)
                                             .semphore_fork, getpid(),                                              .semaphore_fork, getpid(),
                                             pthread_self(), SEM_FORK);                                              pthread_self(), SEM_FORK);
 #                                   endif  #                                   endif
   
Line 2388  rplinit(int argc, char *argv[], char *en Line 2400  rplinit(int argc, char *argv[], char *en
                                             semaphore_gestionnaires_signaux,                                              semaphore_gestionnaires_signaux,
                                             getpid(), SEM_SIGNAUX);                                              getpid(), SEM_SIGNAUX);
                                     sem_destroy3((*s_etat_processus)                                      sem_destroy3((*s_etat_processus)
                                             .semphore_fork, getpid(),                                              .semaphore_fork, getpid(),
                                             pthread_self(), SEM_FORK);                                              pthread_self(), SEM_FORK);
 #                                   endif  #                                   endif
   
Line 2437  rplinit(int argc, char *argv[], char *en Line 2449  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 2512  rplinit(int argc, char *argv[], char *en Line 2524  rplinit(int argc, char *argv[], char *en
                                                 semaphore_gestionnaires_signaux,                                                  semaphore_gestionnaires_signaux,
                                                 getpid(), SEM_SIGNAUX);                                                  getpid(), SEM_SIGNAUX);
                                         sem_destroy3((*s_etat_processus)                                          sem_destroy3((*s_etat_processus)
                                                 .semphore_fork, getpid(),                                                  .semaphore_fork, getpid(),
                                                 pthread_self(), SEM_FORK);                                                  pthread_self(), SEM_FORK);
 #                                       endif  #                                       endif
   
Line 2559  rplinit(int argc, char *argv[], char *en Line 2571  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 2603  rplinit(int argc, char *argv[], char *en Line 2615  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 2732  rplinit(int argc, char *argv[], char *en Line 2744  rplinit(int argc, char *argv[], char *en
                     sem_post(semaphore_gestionnaires_signaux);                      sem_post(semaphore_gestionnaires_signaux);
                     sem_destroy2(semaphore_gestionnaires_signaux,                      sem_destroy2(semaphore_gestionnaires_signaux,
                             getpid(), SEM_SIGNAUX);                              getpid(), SEM_SIGNAUX);
                     sem_destroy3((*s_etat_processus).semphore_fork,                      sem_destroy3((*s_etat_processus).semaphore_fork,
                             getpid(), pthread_self(), SEM_FORK);                              getpid(), pthread_self(), SEM_FORK);
 #               endif  #               endif
   
Line 2775  rplinit(int argc, char *argv[], char *en Line 2787  rplinit(int argc, char *argv[], char *en
                     sem_post(semaphore_gestionnaires_signaux);                      sem_post(semaphore_gestionnaires_signaux);
                     sem_destroy2(semaphore_gestionnaires_signaux,                      sem_destroy2(semaphore_gestionnaires_signaux,
                             getpid(), SEM_SIGNAUX);                              getpid(), SEM_SIGNAUX);
                     sem_destroy3((*s_etat_processus).semphore_fork,                      sem_destroy3((*s_etat_processus).semaphore_fork,
                             getpid(), pthread_self(), SEM_FORK);                              getpid(), pthread_self(), SEM_FORK);
 #               endif  #               endif
   
Line 2824  rplinit(int argc, char *argv[], char *en Line 2836  rplinit(int argc, char *argv[], char *en
                     sem_post(semaphore_gestionnaires_signaux);                      sem_post(semaphore_gestionnaires_signaux);
                     sem_destroy2(semaphore_gestionnaires_signaux,                      sem_destroy2(semaphore_gestionnaires_signaux,
                             getpid(), SEM_SIGNAUX);                              getpid(), SEM_SIGNAUX);
                     sem_destroy3((*s_etat_processus).semphore_fork,                      sem_destroy3((*s_etat_processus).semaphore_fork,
                             getpid(), pthread_self(), SEM_FORK);                              getpid(), pthread_self(), SEM_FORK);
 #               endif  #               endif
   
Line 2868  rplinit(int argc, char *argv[], char *en Line 2880  rplinit(int argc, char *argv[], char *en
                     sem_post(semaphore_gestionnaires_signaux);                      sem_post(semaphore_gestionnaires_signaux);
                     sem_destroy2(semaphore_gestionnaires_signaux,                      sem_destroy2(semaphore_gestionnaires_signaux,
                             getpid(), SEM_SIGNAUX);                              getpid(), SEM_SIGNAUX);
                     sem_destroy3((*s_etat_processus).semphore_fork,                      sem_destroy3((*s_etat_processus).semaphore_fork,
                             getpid(), pthread_self(), SEM_FORK);                              getpid(), pthread_self(), SEM_FORK);
 #               endif  #               endif
   
Line 2924  rplinit(int argc, char *argv[], char *en Line 2936  rplinit(int argc, char *argv[], char *en
                     sem_post(semaphore_gestionnaires_signaux);                      sem_post(semaphore_gestionnaires_signaux);
                     sem_destroy2(semaphore_gestionnaires_signaux,                      sem_destroy2(semaphore_gestionnaires_signaux,
                             getpid(), SEM_SIGNAUX);                              getpid(), SEM_SIGNAUX);
                     sem_destroy3((*s_etat_processus).semphore_fork,                      sem_destroy3((*s_etat_processus).semaphore_fork,
                             getpid(), pthread_self(), SEM_FORK);                              getpid(), pthread_self(), SEM_FORK);
 #               endif  #               endif
   
Line 2978  rplinit(int argc, char *argv[], char *en Line 2990  rplinit(int argc, char *argv[], char *en
                     sem_post(semaphore_gestionnaires_signaux);                      sem_post(semaphore_gestionnaires_signaux);
                     sem_destroy2(semaphore_gestionnaires_signaux,                      sem_destroy2(semaphore_gestionnaires_signaux,
                             getpid(), SEM_SIGNAUX);                              getpid(), SEM_SIGNAUX);
                     sem_destroy3((*s_etat_processus).semphore_fork,                      sem_destroy3((*s_etat_processus).semaphore_fork,
                             getpid(), pthread_self(), SEM_FORK);                              getpid(), pthread_self(), SEM_FORK);
 #               endif  #               endif
   
Line 3049  rplinit(int argc, char *argv[], char *en Line 3061  rplinit(int argc, char *argv[], char *en
                     sem_post(semaphore_gestionnaires_signaux);                      sem_post(semaphore_gestionnaires_signaux);
                     sem_destroy2(semaphore_gestionnaires_signaux,                      sem_destroy2(semaphore_gestionnaires_signaux,
                             getpid(), SEM_SIGNAUX);                              getpid(), SEM_SIGNAUX);
                     sem_destroy3((*s_etat_processus).semphore_fork,                      sem_destroy3((*s_etat_processus).semaphore_fork,
                             getpid(), pthread_self(), SEM_FORK);                              getpid(), pthread_self(), SEM_FORK);
 #               endif  #               endif
   
Line 3093  rplinit(int argc, char *argv[], char *en Line 3105  rplinit(int argc, char *argv[], char *en
                     sem_post(semaphore_gestionnaires_signaux);                      sem_post(semaphore_gestionnaires_signaux);
                     sem_destroy2(semaphore_gestionnaires_signaux,                      sem_destroy2(semaphore_gestionnaires_signaux,
                             getpid(), SEM_SIGNAUX);                              getpid(), SEM_SIGNAUX);
                     sem_destroy3((*s_etat_processus).semphore_fork,                      sem_destroy3((*s_etat_processus).semaphore_fork,
                             getpid(), pthread_self(), SEM_FORK);                              getpid(), pthread_self(), SEM_FORK);
 #               endif  #               endif
   
Line 3136  rplinit(int argc, char *argv[], char *en Line 3148  rplinit(int argc, char *argv[], char *en
                     sem_post(semaphore_gestionnaires_signaux);                      sem_post(semaphore_gestionnaires_signaux);
                     sem_destroy2(semaphore_gestionnaires_signaux,                      sem_destroy2(semaphore_gestionnaires_signaux,
                             getpid(), SEM_SIGNAUX);                              getpid(), SEM_SIGNAUX);
                     sem_destroy3((*s_etat_processus).semphore_fork,                      sem_destroy3((*s_etat_processus).semaphore_fork,
                             getpid(), pthread_self(), SEM_FORK);                              getpid(), pthread_self(), SEM_FORK);
 #               endif  #               endif
   
Line 3180  rplinit(int argc, char *argv[], char *en Line 3192  rplinit(int argc, char *argv[], char *en
                     sem_post(semaphore_gestionnaires_signaux);                      sem_post(semaphore_gestionnaires_signaux);
                     sem_destroy2(semaphore_gestionnaires_signaux,                      sem_destroy2(semaphore_gestionnaires_signaux,
                             getpid(), SEM_SIGNAUX);                              getpid(), SEM_SIGNAUX);
                     sem_destroy3((*s_etat_processus).semphore_fork,                      sem_destroy3((*s_etat_processus).semaphore_fork,
                             getpid(), pthread_self(), SEM_FORK);                              getpid(), pthread_self(), SEM_FORK);
 #               endif  #               endif
   
Line 3223  rplinit(int argc, char *argv[], char *en Line 3235  rplinit(int argc, char *argv[], char *en
                     sem_post(semaphore_gestionnaires_signaux);                      sem_post(semaphore_gestionnaires_signaux);
                     sem_destroy2(semaphore_gestionnaires_signaux,                      sem_destroy2(semaphore_gestionnaires_signaux,
                             getpid(), SEM_SIGNAUX);                              getpid(), SEM_SIGNAUX);
                     sem_destroy3((*s_etat_processus).semphore_fork,                      sem_destroy3((*s_etat_processus).semaphore_fork,
                             getpid(), pthread_self(), SEM_FORK);                              getpid(), pthread_self(), SEM_FORK);
 #               endif  #               endif
   
Line 3288  rplinit(int argc, char *argv[], char *en Line 3300  rplinit(int argc, char *argv[], char *en
                 sem_post(semaphore_gestionnaires_signaux);                  sem_post(semaphore_gestionnaires_signaux);
                 sem_destroy2(semaphore_gestionnaires_signaux,                  sem_destroy2(semaphore_gestionnaires_signaux,
                         getpid(), SEM_SIGNAUX);                          getpid(), SEM_SIGNAUX);
                 sem_destroy3((*s_etat_processus).semphore_fork,                  sem_destroy3((*s_etat_processus).semaphore_fork,
                         getpid(), pthread_self(), SEM_FORK);                          getpid(), pthread_self(), SEM_FORK);
 #           endif  #           endif
   
Line 3348  rplinit(int argc, char *argv[], char *en Line 3360  rplinit(int argc, char *argv[], char *en
                 sem_post(semaphore_gestionnaires_signaux);                  sem_post(semaphore_gestionnaires_signaux);
                 sem_destroy2(semaphore_gestionnaires_signaux,                  sem_destroy2(semaphore_gestionnaires_signaux,
                         getpid(), SEM_SIGNAUX);                          getpid(), SEM_SIGNAUX);
                 sem_destroy3((*s_etat_processus).semphore_fork,                  sem_destroy3((*s_etat_processus).semaphore_fork,
                         getpid(), pthread_self(), SEM_FORK);                          getpid(), pthread_self(), SEM_FORK);
 #           endif  #           endif
   
Line 3615  rplinit(int argc, char *argv[], char *en Line 3627  rplinit(int argc, char *argv[], char *en
                     sem_post(semaphore_gestionnaires_signaux);                      sem_post(semaphore_gestionnaires_signaux);
                     sem_destroy2(semaphore_gestionnaires_signaux,                      sem_destroy2(semaphore_gestionnaires_signaux,
                             getpid(), SEM_SIGNAUX);                              getpid(), SEM_SIGNAUX);
                     sem_destroy3((*s_etat_processus).semphore_fork,                      sem_destroy3((*s_etat_processus).semaphore_fork,
                             getpid(), pthread_self(), SEM_FORK);                              getpid(), pthread_self(), SEM_FORK);
 #               endif  #               endif
   
Line 3658  rplinit(int argc, char *argv[], char *en Line 3670  rplinit(int argc, char *argv[], char *en
                     sem_post(semaphore_gestionnaires_signaux);                      sem_post(semaphore_gestionnaires_signaux);
                     sem_destroy2(semaphore_gestionnaires_signaux,                      sem_destroy2(semaphore_gestionnaires_signaux,
                             getpid(), SEM_SIGNAUX);                              getpid(), SEM_SIGNAUX);
                     sem_destroy3((*s_etat_processus).semphore_fork,                      sem_destroy3((*s_etat_processus).semaphore_fork,
                             getpid(), pthread_self(), SEM_FORK);                              getpid(), pthread_self(), SEM_FORK);
 #               endif  #               endif
   
Line 3715  rplinit(int argc, char *argv[], char *en Line 3727  rplinit(int argc, char *argv[], char *en
                     sem_post(semaphore_gestionnaires_signaux);                      sem_post(semaphore_gestionnaires_signaux);
                     sem_destroy2(semaphore_gestionnaires_signaux,                      sem_destroy2(semaphore_gestionnaires_signaux,
                             getpid(), SEM_SIGNAUX);                              getpid(), SEM_SIGNAUX);
                     sem_destroy3((*s_etat_processus).semphore_fork,                      sem_destroy3((*s_etat_processus).semaphore_fork,
                             getpid(), pthread_self(), SEM_FORK);                              getpid(), pthread_self(), SEM_FORK);
 #               endif  #               endif
   
Line 3805  rplinit(int argc, char *argv[], char *en Line 3817  rplinit(int argc, char *argv[], char *en
                             sem_post(semaphore_gestionnaires_signaux);                              sem_post(semaphore_gestionnaires_signaux);
                             sem_destroy2(semaphore_gestionnaires_signaux,                              sem_destroy2(semaphore_gestionnaires_signaux,
                                     getpid(), SEM_SIGNAUX);                                      getpid(), SEM_SIGNAUX);
                             sem_destroy3((*s_etat_processus).semphore_fork,                              sem_destroy3((*s_etat_processus).semaphore_fork,
                                     getpid(), pthread_self(), SEM_FORK);                                      getpid(), pthread_self(), SEM_FORK);
 #                       endif  #                       endif
   
Line 3857  rplinit(int argc, char *argv[], char *en Line 3869  rplinit(int argc, char *argv[], char *en
                             sem_post(semaphore_gestionnaires_signaux);                              sem_post(semaphore_gestionnaires_signaux);
                             sem_destroy2(semaphore_gestionnaires_signaux,                              sem_destroy2(semaphore_gestionnaires_signaux,
                                     getpid(), SEM_SIGNAUX);                                      getpid(), SEM_SIGNAUX);
                             sem_destroy3((*s_etat_processus).semphore_fork,                              sem_destroy3((*s_etat_processus).semaphore_fork,
                                     getpid(), pthread_self(), SEM_FORK);                                      getpid(), pthread_self(), SEM_FORK);
 #                       endif  #                       endif
   
Line 3937  rplinit(int argc, char *argv[], char *en Line 3949  rplinit(int argc, char *argv[], char *en
                             sem_post(semaphore_gestionnaires_signaux);                              sem_post(semaphore_gestionnaires_signaux);
                             sem_destroy2(semaphore_gestionnaires_signaux,                              sem_destroy2(semaphore_gestionnaires_signaux,
                                     getpid(), SEM_SIGNAUX);                                      getpid(), SEM_SIGNAUX);
                             sem_destroy3((*s_etat_processus).semphore_fork,                              sem_destroy3((*s_etat_processus).semaphore_fork,
                                     getpid(), pthread_self(), SEM_FORK);                                      getpid(), pthread_self(), SEM_FORK);
 #                       endif  #                       endif
   
Line 3993  rplinit(int argc, char *argv[], char *en Line 4005  rplinit(int argc, char *argv[], char *en
                             sem_post(semaphore_gestionnaires_signaux);                              sem_post(semaphore_gestionnaires_signaux);
                             sem_destroy2(semaphore_gestionnaires_signaux,                              sem_destroy2(semaphore_gestionnaires_signaux,
                                     getpid(), SEM_SIGNAUX);                                      getpid(), SEM_SIGNAUX);
                             sem_destroy3((*s_etat_processus).semphore_fork,                              sem_destroy3((*s_etat_processus).semaphore_fork,
                                     getpid(), pthread_self(), SEM_FORK);                                      getpid(), pthread_self(), SEM_FORK);
 #                       endif  #                       endif
   
Line 4090  rplinit(int argc, char *argv[], char *en Line 4102  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                           endif  #                           endif
   
Line 4149  rplinit(int argc, char *argv[], char *en Line 4161  rplinit(int argc, char *argv[], char *en
                             sem_post(semaphore_gestionnaires_signaux);                              sem_post(semaphore_gestionnaires_signaux);
                             sem_destroy2(semaphore_gestionnaires_signaux,                              sem_destroy2(semaphore_gestionnaires_signaux,
                                     getpid(), SEM_SIGNAUX);                                      getpid(), SEM_SIGNAUX);
                             sem_destroy3((*s_etat_processus).semphore_fork,                              sem_destroy3((*s_etat_processus).semaphore_fork,
                                     getpid(), pthread_self(), SEM_FORK);                                      getpid(), pthread_self(), SEM_FORK);
 #                       endif  #                       endif
   
Line 4236  rplinit(int argc, char *argv[], char *en Line 4248  rplinit(int argc, char *argv[], char *en
                             sem_post(semaphore_gestionnaires_signaux);                              sem_post(semaphore_gestionnaires_signaux);
                             sem_destroy2(semaphore_gestionnaires_signaux,                              sem_destroy2(semaphore_gestionnaires_signaux,
                                     getpid(), SEM_SIGNAUX);                                      getpid(), SEM_SIGNAUX);
                             sem_destroy3((*s_etat_processus).semphore_fork,                              sem_destroy3((*s_etat_processus).semaphore_fork,
                                     getpid(), pthread_self(), SEM_FORK);                                      getpid(), pthread_self(), SEM_FORK);
 #                       endif  #                       endif
   
Line 4284  rplinit(int argc, char *argv[], char *en Line 4296  rplinit(int argc, char *argv[], char *en
                             sem_post(semaphore_gestionnaires_signaux);                              sem_post(semaphore_gestionnaires_signaux);
                             sem_destroy2(semaphore_gestionnaires_signaux,                              sem_destroy2(semaphore_gestionnaires_signaux,
                                     getpid(), SEM_SIGNAUX);                                      getpid(), SEM_SIGNAUX);
                             sem_destroy3((*s_etat_processus).semphore_fork,                              sem_destroy3((*s_etat_processus).semaphore_fork,
                                     getpid(), pthread_self(), SEM_FORK);                                      getpid(), pthread_self(), SEM_FORK);
 #                       endif  #                       endif
   
Line 4333  rplinit(int argc, char *argv[], char *en Line 4345  rplinit(int argc, char *argv[], char *en
                             sem_post(semaphore_gestionnaires_signaux);                              sem_post(semaphore_gestionnaires_signaux);
                             sem_destroy2(semaphore_gestionnaires_signaux,                              sem_destroy2(semaphore_gestionnaires_signaux,
                                     getpid(), SEM_SIGNAUX);                                      getpid(), SEM_SIGNAUX);
                             sem_destroy3((*s_etat_processus).semphore_fork,                              sem_destroy3((*s_etat_processus).semaphore_fork,
                                     getpid(), pthread_self(), SEM_FORK);                                      getpid(), pthread_self(), SEM_FORK);
 #                       endif  #                       endif
   
Line 4381  rplinit(int argc, char *argv[], char *en Line 4393  rplinit(int argc, char *argv[], char *en
                             sem_post(semaphore_gestionnaires_signaux);                              sem_post(semaphore_gestionnaires_signaux);
                             sem_destroy2(semaphore_gestionnaires_signaux,                              sem_destroy2(semaphore_gestionnaires_signaux,
                                     getpid(), SEM_SIGNAUX);                                      getpid(), SEM_SIGNAUX);
                             sem_destroy3((*s_etat_processus).semphore_fork,                              sem_destroy3((*s_etat_processus).semaphore_fork,
                                     getpid(), pthread_self(), SEM_FORK);                                      getpid(), pthread_self(), SEM_FORK);
 #                       endif  #                       endif
   
Line 4434  rplinit(int argc, char *argv[], char *en Line 4446  rplinit(int argc, char *argv[], char *en
                             sem_post(semaphore_gestionnaires_signaux);                              sem_post(semaphore_gestionnaires_signaux);
                             sem_destroy2(semaphore_gestionnaires_signaux,                              sem_destroy2(semaphore_gestionnaires_signaux,
                                     getpid(), SEM_SIGNAUX);                                      getpid(), SEM_SIGNAUX);
                             sem_destroy3((*s_etat_processus).semphore_fork,                              sem_destroy3((*s_etat_processus).semaphore_fork,
                                     getpid(), pthread_self(), SEM_FORK);                                      getpid(), pthread_self(), SEM_FORK);
 #                       endif  #                       endif
   
Line 4507  rplinit(int argc, char *argv[], char *en Line 4519  rplinit(int argc, char *argv[], char *en
                                             semaphore_gestionnaires_signaux,                                              semaphore_gestionnaires_signaux,
                                             getpid(), SEM_SIGNAUX);                                              getpid(), SEM_SIGNAUX);
                                     sem_destroy3((*s_etat_processus)                                      sem_destroy3((*s_etat_processus)
                                             .semphore_fork,                                              .semaphore_fork,
                                             getpid(), pthread_self(), SEM_FORK);                                              getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 4577  rplinit(int argc, char *argv[], char *en Line 4589  rplinit(int argc, char *argv[], char *en
                                             semaphore_gestionnaires_signaux,                                              semaphore_gestionnaires_signaux,
                                             getpid(), SEM_SIGNAUX);                                              getpid(), SEM_SIGNAUX);
                                     sem_destroy3((*s_etat_processus)                                      sem_destroy3((*s_etat_processus)
                                             .semphore_fork,                                              .semaphore_fork,
                                             getpid(), pthread_self(), SEM_FORK);                                              getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 4628  rplinit(int argc, char *argv[], char *en Line 4640  rplinit(int argc, char *argv[], char *en
                                             semaphore_gestionnaires_signaux,                                              semaphore_gestionnaires_signaux,
                                             getpid(), SEM_SIGNAUX);                                              getpid(), SEM_SIGNAUX);
                                     sem_destroy3((*s_etat_processus)                                      sem_destroy3((*s_etat_processus)
                                             .semphore_fork,                                              .semaphore_fork,
                                             getpid(), pthread_self(), SEM_FORK);                                              getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 4680  rplinit(int argc, char *argv[], char *en Line 4692  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                           endif  #                           endif
   
Line 4744  rplinit(int argc, char *argv[], char *en Line 4756  rplinit(int argc, char *argv[], char *en
                                             semaphore_gestionnaires_signaux,                                              semaphore_gestionnaires_signaux,
                                             getpid(), SEM_SIGNAUX);                                              getpid(), SEM_SIGNAUX);
                                     sem_destroy3((*s_etat_processus)                                      sem_destroy3((*s_etat_processus)
                                             .semphore_fork,                                              .semaphore_fork,
                                             getpid(), pthread_self(), SEM_FORK);                                              getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 4792  rplinit(int argc, char *argv[], char *en Line 4804  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                           endif  #                           endif
   
Line 4836  rplinit(int argc, char *argv[], char *en Line 4848  rplinit(int argc, char *argv[], char *en
                                             semaphore_gestionnaires_signaux,                                              semaphore_gestionnaires_signaux,
                                             getpid(), SEM_SIGNAUX);                                              getpid(), SEM_SIGNAUX);
                                     sem_destroy3((*s_etat_processus)                                      sem_destroy3((*s_etat_processus)
                                             .semphore_fork,                                              .semaphore_fork,
                                             getpid(), pthread_self(), SEM_FORK);                                              getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 4885  rplinit(int argc, char *argv[], char *en Line 4897  rplinit(int argc, char *argv[], char *en
                                 sem_post(semaphore_gestionnaires_signaux);                                  sem_post(semaphore_gestionnaires_signaux);
                                 sem_destroy2(semaphore_gestionnaires_signaux,                                  sem_destroy2(semaphore_gestionnaires_signaux,
                                         getpid(), SEM_SIGNAUX);                                          getpid(), SEM_SIGNAUX);
                                 sem_destroy3((*s_etat_processus).semphore_fork,                                  sem_destroy3((*s_etat_processus).semaphore_fork,
                                         getpid(), pthread_self(), SEM_FORK);                                          getpid(), pthread_self(), SEM_FORK);
 #                           endif  #                           endif
   
Line 4937  rplinit(int argc, char *argv[], char *en Line 4949  rplinit(int argc, char *argv[], char *en
                                                 semaphore_gestionnaires_signaux,                                                  semaphore_gestionnaires_signaux,
                                                 getpid(), SEM_SIGNAUX);                                                  getpid(), SEM_SIGNAUX);
                                         sem_destroy3((*s_etat_processus)                                          sem_destroy3((*s_etat_processus)
                                                 .semphore_fork, getpid(),                                                  .semaphore_fork, getpid(),
                                                 pthread_self(), SEM_FORK);                                                  pthread_self(), SEM_FORK);
 #                                   endif  #                                   endif
   
Line 4991  rplinit(int argc, char *argv[], char *en Line 5003  rplinit(int argc, char *argv[], char *en
                                             semaphore_gestionnaires_signaux,                                              semaphore_gestionnaires_signaux,
                                             getpid(), SEM_SIGNAUX);                                              getpid(), SEM_SIGNAUX);
                                     sem_destroy3((*s_etat_processus)                                      sem_destroy3((*s_etat_processus)
                                             .semphore_fork,                                              .semaphore_fork,
                                             getpid(), pthread_self(), SEM_FORK);                                              getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 5040  rplinit(int argc, char *argv[], char *en Line 5052  rplinit(int argc, char *argv[], char *en
                                                 semaphore_gestionnaires_signaux,                                                  semaphore_gestionnaires_signaux,
                                                 getpid(), SEM_SIGNAUX);                                                  getpid(), SEM_SIGNAUX);
                                         sem_destroy3((*s_etat_processus)                                          sem_destroy3((*s_etat_processus)
                                                 .semphore_fork, getpid(),                                                  .semaphore_fork, getpid(),
                                                 pthread_self(), SEM_FORK);                                                  pthread_self(), SEM_FORK);
 #                                   endif  #                                   endif
   
Line 5094  rplinit(int argc, char *argv[], char *en Line 5106  rplinit(int argc, char *argv[], char *en
                                             semaphore_gestionnaires_signaux,                                              semaphore_gestionnaires_signaux,
                                             getpid(), SEM_SIGNAUX);                                              getpid(), SEM_SIGNAUX);
                                     sem_destroy3((*s_etat_processus)                                      sem_destroy3((*s_etat_processus)
                                             .semphore_fork,                                              .semaphore_fork,
                                             getpid(), pthread_self(), SEM_FORK);                                              getpid(), pthread_self(), SEM_FORK);
 #                               endif  #                               endif
   
Line 5372  rplinit(int argc, char *argv[], char *en Line 5384  rplinit(int argc, char *argv[], char *en
                         pthread_cancel((*s_etat_processus).thread_fusible);                          pthread_cancel((*s_etat_processus).thread_fusible);
                     }                      }
   
                     pthread_mutex_lock(&((*s_etat_processus).mutex));                      pthread_mutex_lock(&((*s_etat_processus)
                               .mutex_pile_processus));
   
                     l_element_courant = (void *) (*s_etat_processus)                      l_element_courant = (void *) (*s_etat_processus)
                             .l_base_pile_processus;                              .l_base_pile_processus;
Line 5590  rplinit(int argc, char *argv[], char *en Line 5603  rplinit(int argc, char *argv[], char *en
                                                 semaphore_gestionnaires_signaux,                                                  semaphore_gestionnaires_signaux,
                                                 getpid(), SEM_SIGNAUX);                                                  getpid(), SEM_SIGNAUX);
                                         sem_destroy3((*s_etat_processus)                                          sem_destroy3((*s_etat_processus)
                                                 .semphore_fork, getpid(),                                                  .semaphore_fork, getpid(),
                                                 pthread_self(), SEM_FORK);                                                  pthread_self(), SEM_FORK);
 #                                   endif  #                                   endif
   
Line 5608  rplinit(int argc, char *argv[], char *en Line 5621  rplinit(int argc, char *argv[], char *en
                                         }                                          }
 #                                   endif  #                                   endif
   
                                     pthread_mutex_unlock(                                      pthread_mutex_unlock(&((*s_etat_processus)
                                             &((*s_etat_processus).mutex));                                              .mutex_pile_processus));
                                     return(EXIT_FAILURE);                                      return(EXIT_FAILURE);
                                 }                                  }
   
Line 5653  rplinit(int argc, char *argv[], char *en Line 5666  rplinit(int argc, char *argv[], char *en
                                                 semaphore_gestionnaires_signaux,                                                  semaphore_gestionnaires_signaux,
                                                 getpid(), SEM_SIGNAUX);                                                  getpid(), SEM_SIGNAUX);
                                         sem_destroy3((*s_etat_processus)                                          sem_destroy3((*s_etat_processus)
                                                 .semphore_fork, getpid(),                                                  .semaphore_fork, getpid(),
                                                 pthread_self(), SEM_FORK);                                                  pthread_self(), SEM_FORK);
 #                                   endif  #                                   endif
   
Line 5671  rplinit(int argc, char *argv[], char *en Line 5684  rplinit(int argc, char *argv[], char *en
                                         }                                          }
 #                                   endif  #                                   endif
   
                                     pthread_mutex_unlock(                                      pthread_mutex_unlock(&((*s_etat_processus)
                                             &((*s_etat_processus).mutex));                                              .mutex_pile_processus));
                                     return(EXIT_FAILURE);                                      return(EXIT_FAILURE);
                                 }                                  }
                             }                              }
                         }                          }
   
                           pthread_mutex_lock(&((*s_etat_processus)
                                   .mutex_interruptions));
   
                         if ((*s_etat_processus)                          if ((*s_etat_processus)
                                 .nombre_interruptions_non_affectees != 0)                                  .nombre_interruptions_non_affectees != 0)
                         {                          {
Line 5685  rplinit(int argc, char *argv[], char *en Line 5701  rplinit(int argc, char *argv[], char *en
                                     s_etat_processus);                                      s_etat_processus);
                         }                          }
   
                         pthread_mutex_unlock(&((*s_etat_processus).mutex));                          pthread_mutex_unlock(&((*s_etat_processus)
                                   .mutex_interruptions));
                           pthread_mutex_unlock(&((*s_etat_processus)
                                   .mutex_pile_processus));
                         nanosleep(&attente, NULL);                          nanosleep(&attente, NULL);
                         scrutation_interruptions(s_etat_processus);                          scrutation_interruptions(s_etat_processus);
                         pthread_mutex_lock(&((*s_etat_processus).mutex));                          pthread_mutex_lock(&((*s_etat_processus)
                                   .mutex_pile_processus));
                     }                      }
   
                     pthread_mutex_unlock(&((*s_etat_processus).mutex));                      pthread_mutex_unlock(&((*s_etat_processus)
                               .mutex_pile_processus));
   
                     erreur_historique = write_history(                      erreur_historique = write_history(
                             (*s_etat_processus).nom_fichier_historique);                              (*s_etat_processus).nom_fichier_historique);
Line 6204  rplinit(int argc, char *argv[], char *en Line 6225  rplinit(int argc, char *argv[], char *en
   
     retrait_thread(s_etat_processus);      retrait_thread(s_etat_processus);
   
     pthread_mutex_destroy(&((*s_etat_processus).mutex));      pthread_mutex_destroy(&((*s_etat_processus).mutex_pile_processus));
     pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation));      pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation));
       pthread_mutex_destroy(&((*s_etat_processus).mutex_interruptions));
       pthread_mutex_destroy(&((*s_etat_processus).mutex_signaux));
     pthread_mutex_destroy(&mutex_sections_critiques);      pthread_mutex_destroy(&mutex_sections_critiques);
     pthread_mutex_destroy(&mutex_liste_variables_partagees);      pthread_mutex_destroy(&mutex_liste_variables_partagees);
   

Removed from v.1.144  
changed lines
  Added in v.1.155


CVSweb interface <joel.bertrand@systella.fr>