Diff for /rpl/src/rpl.c between versions 1.109 and 1.116

version 1.109, 2012/01/25 16:38:30 version 1.116, 2012/08/22 10:47:18
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.6    RPL/2 (R) version 4.1.10
   Copyright (C) 1989-2012 Dr. BERTRAND Joël    Copyright (C) 1989-2012 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
Line 429  rplinit(int argc, char *argv[], char *en Line 429  rplinit(int argc, char *argv[], char *en
     signal_test = SIGTEST;      signal_test = SIGTEST;
     kill(getpid(), SIGINT);      kill(getpid(), SIGINT);
   
       attente.tv_sec = 0;
       attente.tv_nsec = 1000000;
   
       for(i = 0; (i < 1000) && (signal_test == SIGTEST); i++)
       {
           nanosleep(&attente, NULL);
       }
   
     if (signal_test != SIGINT)      if (signal_test != SIGINT)
     {      {
         erreur = d_es_signal;          erreur = d_es_signal;
Line 466  rplinit(int argc, char *argv[], char *en Line 474  rplinit(int argc, char *argv[], char *en
     signal_test = SIGTEST;      signal_test = SIGTEST;
     kill(getpid(), SIGTERM);      kill(getpid(), SIGTERM);
   
       attente.tv_sec = 0;
       attente.tv_nsec = 1000000;
   
       for(i = 0; (i < 1000) && (signal_test == SIGTEST); i++)
       {
           nanosleep(&attente, NULL);
       }
   
     if (signal_test != SIGTERM)      if (signal_test != SIGTERM)
     {      {
         erreur = d_es_signal;          erreur = d_es_signal;
Line 503  rplinit(int argc, char *argv[], char *en Line 519  rplinit(int argc, char *argv[], char *en
     signal_test = SIGTEST;      signal_test = SIGTEST;
     kill(getpid(), SIGALRM);      kill(getpid(), SIGALRM);
   
       attente.tv_sec = 0;
       attente.tv_nsec = 1000000;
   
       for(i = 0; (i < 1000) && (signal_test == SIGTEST); i++)
       {
           nanosleep(&attente, NULL);
       }
   
     if (signal_test != SIGALRM)      if (signal_test != SIGALRM)
     {      {
         erreur = d_es_signal;          erreur = d_es_signal;
Line 541  rplinit(int argc, char *argv[], char *en Line 565  rplinit(int argc, char *argv[], char *en
     signal_test = SIGTEST;      signal_test = SIGTEST;
     kill(getpid(), SIGTSTP);      kill(getpid(), SIGTSTP);
   
       attente.tv_sec = 0;
       attente.tv_nsec = 1000000;
   
       for(i = 0; (i < 1000) && (signal_test == SIGTEST); i++)
       {
           nanosleep(&attente, NULL);
       }
   
     if (signal_test != SIGTSTP)      if (signal_test != SIGTSTP)
     {      {
         erreur = d_es_signal;          erreur = d_es_signal;
Line 581  rplinit(int argc, char *argv[], char *en Line 613  rplinit(int argc, char *argv[], char *en
     signal_test = SIGTEST;      signal_test = SIGTEST;
     kill(getpid(), SIGPIPE);      kill(getpid(), SIGPIPE);
   
       attente.tv_sec = 0;
       attente.tv_nsec = 1000000;
   
       for(i = 0; (i < 1000) && (signal_test == SIGTEST); i++)
       {
           nanosleep(&attente, NULL);
       }
   
     if (signal_test != SIGPIPE)      if (signal_test != SIGPIPE)
     {      {
         erreur = d_es_signal;          erreur = d_es_signal;
Line 621  rplinit(int argc, char *argv[], char *en Line 661  rplinit(int argc, char *argv[], char *en
     signal_test = SIGTEST;      signal_test = SIGTEST;
     kill(getpid(), SIGUSR1);      kill(getpid(), SIGUSR1);
   
       attente.tv_sec = 0;
       attente.tv_nsec = 1000000;
   
       for(i = 0; (i < 1000) && (signal_test == SIGTEST); i++)
       {
           nanosleep(&attente, NULL);
       }
   
     if (signal_test != SIGUSR1)      if (signal_test != SIGUSR1)
     {      {
         erreur = d_es_signal;          erreur = d_es_signal;
Line 1590  rplinit(int argc, char *argv[], char *en Line 1638  rplinit(int argc, char *argv[], char *en
             signal_test = SIGTEST;              signal_test = SIGTEST;
             kill(getpid(), SIGSEGV);              kill(getpid(), SIGSEGV);
   
               attente.tv_sec = 0;
               attente.tv_nsec = 1000000;
   
               for(i = 0; (i < 1000) && (signal_test == SIGTEST); i++)
               {
                   nanosleep(&attente, NULL);
               }
   
             if (signal_test != SIGSEGV)              if (signal_test != SIGSEGV)
             {              {
                 erreur = d_es_signal;                  erreur = d_es_signal;
Line 1609  rplinit(int argc, char *argv[], char *en Line 1665  rplinit(int argc, char *argv[], char *en
             }              }
 #   endif  #   endif
   
               action.sa_handler = interruption3;
               action.sa_flags = 0;
   
             if (sigaction(SIGBUS, &action, NULL) != 0)              if (sigaction(SIGBUS, &action, NULL) != 0)
             {              {
                 if ((*s_etat_processus).langue == 'F')                  if ((*s_etat_processus).langue == 'F')
Line 1628  rplinit(int argc, char *argv[], char *en Line 1687  rplinit(int argc, char *argv[], char *en
             signal_test = SIGTEST;              signal_test = SIGTEST;
             kill(getpid(), SIGBUS);              kill(getpid(), SIGBUS);
   
               attente.tv_sec = 0;
               attente.tv_nsec = 1000000;
   
               for(i = 0; (i < 1000) && (signal_test == SIGTEST); i++)
               {
                   nanosleep(&attente, NULL);
               }
   
             if (signal_test != SIGBUS)              if (signal_test != SIGBUS)
             {              {
                 erreur = d_es_signal;                  erreur = d_es_signal;
Line 2032  rplinit(int argc, char *argv[], char *en Line 2099  rplinit(int argc, char *argv[], char *en
             (*s_etat_processus).arbre_instructions = NULL;              (*s_etat_processus).arbre_instructions = NULL;
   
             (*s_etat_processus).tid_processus_pere = pthread_self();              (*s_etat_processus).tid_processus_pere = pthread_self();
             (*s_etat_processus).tid= pthread_self();              (*s_etat_processus).tid = pthread_self();
             (*s_etat_processus).pid_processus_pere = getpid();              (*s_etat_processus).pid_processus_pere = getpid();
             (*s_etat_processus).processus_detache = d_vrai;              (*s_etat_processus).processus_detache = d_vrai;
             (*s_etat_processus).var_volatile_processus_pere = -1;              (*s_etat_processus).var_volatile_processus_pere = -1;
Line 2129  rplinit(int argc, char *argv[], char *en Line 2196  rplinit(int argc, char *argv[], char *en
                 (*((*s_etat_processus).l_base_pile_systeme))                  (*((*s_etat_processus).l_base_pile_systeme))
                         .retour_definition = 'Y';                          .retour_definition = 'Y';
   
                 (*s_etat_processus).indep = (struct_objet *) malloc(                  (*s_etat_processus).indep = allocation(s_etat_processus, NON);
                         sizeof(struct_objet));                  (*s_etat_processus).depend = allocation(s_etat_processus, NON);
                 (*s_etat_processus).depend = (struct_objet *) malloc(  
                         sizeof(struct_objet));  
                 (*s_etat_processus).parametres_courbes_de_niveau =                  (*s_etat_processus).parametres_courbes_de_niveau =
                         (struct_objet *) malloc(sizeof(struct_objet));                          allocation(s_etat_processus, NON);
   
                 if (((*s_etat_processus).indep != NULL) &&                  if (((*s_etat_processus).indep != NULL) &&
                         ((*s_etat_processus).depend != NULL) &&                          ((*s_etat_processus).depend != NULL) &&

Removed from v.1.109  
changed lines
  Added in v.1.116


CVSweb interface <joel.bertrand@systella.fr>