Diff for /rpl/src/rpl.c between versions 1.136 and 1.141

version 1.136, 2013/03/21 11:30:31 version 1.141, 2013/04/02 12:20:51
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.13    RPL/2 (R) version 4.1.14
   Copyright (C) 1989-2013 Dr. BERTRAND Joël    Copyright (C) 1989-2013 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
Line 4483  rplinit(int argc, char *argv[], char *en Line 4483  rplinit(int argc, char *argv[], char *en
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es;                          (*s_etat_processus).erreur_systeme = d_es;
                         encart(s_etat_processus,                          encart(s_etat_processus,
                                 (unsigned long) (5 * 1000000));                                  (integer8) (5 * 1000000));
   
                         if ((*s_etat_processus).erreur_systeme != d_es)                          if ((*s_etat_processus).erreur_systeme != d_es)
                         {                          {
Line 5139  rplinit(int argc, char *argv[], char *en Line 5139  rplinit(int argc, char *argv[], char *en
   
                                 if (erreur == d_absence_erreur)                                  if (erreur == d_absence_erreur)
                                 {                                  {
                                     if (((*s_etat_processus).var_volatile_alarme                                      if (((*s_etat_processus)
                                             == 0) && ((*s_etat_processus)  
                                             .arret_depuis_abort == 0) &&                                              .arret_depuis_abort == 0) &&
                                             ((*s_etat_processus).at_exit                                              ((*s_etat_processus).at_exit
                                             != NULL))                                              != NULL))
                                     {                                      {
                                           // Permet de traiter ATEXIT
                                           // même après réception d'un SIGINT.
                                           (*s_etat_processus)
                                                   .var_volatile_alarme = 0;
                                           (*s_etat_processus)
                                                   .var_volatile_requete_arret = 0;
   
                                           if ((*s_etat_processus).profilage ==
                                                   d_vrai)
                                           {
                                               profilage(s_etat_processus,
                                                       "ATEXIT");
                                           }
   
                                         erreur = evaluation(s_etat_processus,                                          erreur = evaluation(s_etat_processus,
                                                 (*s_etat_processus).at_exit,                                                  (*s_etat_processus).at_exit,
                                                 'E');                                                  'E');
   
                                           if ((*s_etat_processus).profilage ==
                                                   d_vrai)
                                           {
                                               profilage(s_etat_processus, NULL);
                                           }
   
                                           if (((*s_etat_processus)
                                                   .erreur_execution != d_ex) ||
                                                   ((*s_etat_processus).exception
                                                   != d_ep) || ((*s_etat_processus)
                                                   .erreur_systeme != d_es))
                                           {
                                               printf("%s [%d]\n", message =
                                                       messages(s_etat_processus),
                                                       (int) getpid());
                                               free(message);
   
                                               if (test_cfsf(s_etat_processus, 51)
                                                       == d_faux)
                                               {
                                                   printf("%s", ds_beep);
                                               }
   
                                               if ((*s_etat_processus).core ==
                                                       d_vrai)
                                               {
                                                   printf("\n");
   
                                                   if ((*s_etat_processus).langue
                                                           == 'F')
                                                   {
                                                       printf("+++Information : Gé"
                                                               "nération du fichie"
                                                               "r rpl-core "
                                                               "[%d]\n", (int)
                                                               getpid());
                                                   }
                                                   else
                                                   {
                                                       printf("+++Information : Wr"
                                                               "iting rpl-core fil"
                                                               "e [%d]\n",
                                                               (int) getpid());
                                                   }
   
                                                   rplcore(s_etat_processus);
   
                                                   if ((*s_etat_processus).langue
                                                           == 'F')
                                                   {
                                                       printf("+++Information : Pr"
                                                               "ocessus tracé [%d]"
                                                               "\n",
                                                               (int) getpid());
                                                   }
                                                   else
                                                   {
                                                       printf("+++Information : Do"
                                                               "ne [%d]\n", (int)
                                                               getpid());
                                                   }
   
                                                   printf("\n");
                                                   fflush(stdout);
                                               }
                                           }
                                     }                                      }
                                 }                                  }
                             }                              }
Line 5160  rplinit(int argc, char *argv[], char *en Line 5240  rplinit(int argc, char *argv[], char *en
   
                                 if (erreur == d_absence_erreur)                                  if (erreur == d_absence_erreur)
                                 {                                  {
                                     if (((*s_etat_processus).var_volatile_alarme                                      if (((*s_etat_processus)
                                             == 0) && ((*s_etat_processus)  
                                             .arret_depuis_abort == 0) &&                                              .arret_depuis_abort == 0) &&
                                             ((*s_etat_processus).at_exit                                              ((*s_etat_processus).at_exit
                                             != NULL))                                              != NULL))
                                     {                                      {
                                           // Permet de traiter ATEXIT
                                           // même après réception d'un SIGINT.
                                           (*s_etat_processus)
                                                   .var_volatile_alarme = 0;
                                           (*s_etat_processus)
                                                   .var_volatile_requete_arret = 0;
   
                                           if ((*s_etat_processus).profilage ==
                                                   d_vrai)
                                           {
                                               profilage(s_etat_processus,
                                                       "ATEXIT");
                                           }
   
                                         erreur = evaluation(s_etat_processus,                                          erreur = evaluation(s_etat_processus,
                                                 (*s_etat_processus).at_exit,                                                  (*s_etat_processus).at_exit,
                                                 'E');                                                  'E');
   
                                           if ((*s_etat_processus).profilage ==
                                                   d_vrai)
                                           {
                                               profilage(s_etat_processus, NULL);
                                           }
   
                                           if (((*s_etat_processus)
                                                   .erreur_execution != d_ex) ||
                                                   ((*s_etat_processus).exception
                                                   != d_ep) || ((*s_etat_processus)
                                                   .erreur_systeme != d_es))
                                           {
                                               printf("%s [%d]\n", message =
                                                       messages(s_etat_processus),
                                                       (int) getpid());
                                               free(message);
   
                                               if (test_cfsf(s_etat_processus, 51)
                                                       == d_faux)
                                               {
                                                   printf("%s", ds_beep);
                                               }
   
                                               if ((*s_etat_processus).core ==
                                                       d_vrai)
                                               {
                                                   printf("\n");
   
                                                   if ((*s_etat_processus).langue
                                                           == 'F')
                                                   {
                                                       printf("+++Information : Gé"
                                                               "nération du fichie"
                                                               "r rpl-core "
                                                               "[%d]\n", (int)
                                                               getpid());
                                                   }
                                                   else
                                                   {
                                                       printf("+++Information : Wr"
                                                               "iting rpl-core fil"
                                                               "e [%d]\n",
                                                               (int) getpid());
                                                   }
   
                                                   rplcore(s_etat_processus);
   
                                                   if ((*s_etat_processus).langue
                                                           == 'F')
                                                   {
                                                       printf("+++Information : Pr"
                                                               "ocessus tracé [%d]"
                                                               "\n",
                                                               (int) getpid());
                                                   }
                                                   else
                                                   {
                                                       printf("+++Information : Do"
                                                               "ne [%d]\n", (int)
                                                               getpid());
                                                   }
   
                                                   printf("\n");
                                                   fflush(stdout);
                                               }
                                           }
                                     }                                      }
                                 }                                  }
                             }                              }

Removed from v.1.136  
changed lines
  Added in v.1.141


CVSweb interface <joel.bertrand@systella.fr>