Diff for /rpl/src/interruptions.c between versions 1.10 and 1.11

version 1.10, 2010/04/28 11:05:45 version 1.11, 2010/04/29 07:30:58
Line 1957  interruption5(int signal, siginfo_t *sig Line 1957  interruption5(int signal, siginfo_t *sig
             return;              return;
         }          }
   
           if (signal == SIGFABORT)
           {
               (*s_etat_processus).arret_depuis_abort = -1;
           }
   
         if (((*s_etat_processus).type_debug & d_debug_signaux) != 0)          if (((*s_etat_processus).type_debug & d_debug_signaux) != 0)
         {          {
             if (signal == SIGFSTOP)              if (signal == SIGFSTOP)
Line 1980  interruption5(int signal, siginfo_t *sig Line 1985  interruption5(int signal, siginfo_t *sig
          * -1 -> traitement retardé (un ou plusieurs signaux stop reçus)           * -1 -> traitement retardé (un ou plusieurs signaux stop reçus)
          */           */
   
         if (signal == SIGFSTOP)          if ((*s_etat_processus).var_volatile_traitement_retarde_stop == 0)
         {          {
             if ((*s_etat_processus).var_volatile_traitement_retarde_stop == 0)              (*s_etat_processus).var_volatile_requete_arret = -1;
             {  
                 (*s_etat_processus).var_volatile_requete_arret = -1;  
             }  
             else  
             {  
                 (*s_etat_processus).var_volatile_traitement_retarde_stop = -1;  
             }  
         }          }
         else          else
         {          {
             (*s_etat_processus).var_volatile_requete_arret = -1;              (*s_etat_processus).var_volatile_traitement_retarde_stop = -1;
             (*s_etat_processus).arret_depuis_abort = -1;  
         }          }
     }      }
     else      else
     {      {
           if ((s_etat_processus = recherche_thread(getpid(), pthread_self()))
                   == NULL)
           {
               deverrouillage_gestionnaire_signaux();
               return;
           }
   
           if (signal == SIGFABORT)
           {
               (*s_etat_processus).arret_depuis_abort = -1;
           }
   
         // Envoi d'un signal au thread maître du groupe.          // Envoi d'un signal au thread maître du groupe.
   
         if (recherche_thread_principal(getpid(), &thread) == d_vrai)          if (recherche_thread_principal(getpid(), &thread) == d_vrai)
Line 2127  interruption9(int signal, siginfo_t *sig Line 2136  interruption9(int signal, siginfo_t *sig
         fflush(stdout);          fflush(stdout);
     }      }
   
     pthread_kill((*s_etat_processus).tid_processus_pere, SIGFSTOP);      pthread_kill((*s_etat_processus).tid_processus_pere, SIGFABORT);
     deverrouillage_gestionnaire_signaux();      deverrouillage_gestionnaire_signaux();
     return;      return;
 }  }

Removed from v.1.10  
changed lines
  Added in v.1.11


CVSweb interface <joel.bertrand@systella.fr>