Diff for /rpl/src/instructions_d5.c between versions 1.18 and 1.23

version 1.18, 2010/05/06 15:02:43 version 1.23, 2010/05/25 18:09:44
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.15    RPL/2 (R) version 4.0.16
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2010 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
Line 1277  instruction_detach(struct_processus *s_e Line 1277  instruction_detach(struct_processus *s_e
   
         (*s_argument_thread).s_etat_processus = s_etat_processus;          (*s_argument_thread).s_etat_processus = s_etat_processus;
   
   #       ifdef DEBUG_MEMOIRE
           debug_memoire_verrouillage();
   #       endif
   
         if (pthread_create(&thread_surveillance, &attributs,          if (pthread_create(&thread_surveillance, &attributs,
                 surveillance_processus, s_argument_thread) != 0)                  surveillance_processus, s_argument_thread) != 0)
         {          {
   #           ifdef DEBUG_MEMOIRE
               debug_memoire_deverrouillage();
   #           endif
   
             (*s_etat_processus).erreur_systeme = d_es_processus;              (*s_etat_processus).erreur_systeme = d_es_processus;
             return;              return;
         }          }
   
   #       ifdef DEBUG_MEMOIRE
           debug_memoire_deverrouillage();
   #       endif
   
         if (pthread_attr_destroy(&attributs) != 0)          if (pthread_attr_destroy(&attributs) != 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_processus;              (*s_etat_processus).erreur_systeme = d_es_processus;
Line 2639  instruction_detach(struct_processus *s_e Line 2651  instruction_detach(struct_processus *s_e
         liberation(s_etat_processus, s_objet);          liberation(s_etat_processus, s_objet);
   
 #       ifndef Cygwin  #       ifndef Cygwin
           (*s_etat_processus).pile_signal.ss_flags = SS_DISABLE;
           sigaltstack(&((*s_etat_processus).pile_signal), NULL);
         free((*s_etat_processus).pile_signal.ss_sp);          free((*s_etat_processus).pile_signal.ss_sp);
 #       endif  #       endif
   
Line 2694  instruction_detach(struct_processus *s_e Line 2708  instruction_detach(struct_processus *s_e
 #       endif  #       endif
   
         free((*s_etat_processus).localisation);          free((*s_etat_processus).localisation);
         free(s_etat_processus);  
         free(s_argument_thread);          free(s_argument_thread);
   
 #       ifndef SEMAPHORES_NOMMES  #       ifndef SEMAPHORES_NOMMES
Line 2713  instruction_detach(struct_processus *s_e Line 2726  instruction_detach(struct_processus *s_e
   
         clear_history();          clear_history();
   
           free(s_etat_processus);
   
 #       ifdef DEBUG_MEMOIRE  #       ifdef DEBUG_MEMOIRE
         debug_memoire_verification(s_etat_processus);          debug_memoire_verification();
           analyse_post_mortem();
 #       endif  #       endif
   
         exit(EXIT_SUCCESS);          exit(EXIT_SUCCESS);

Removed from v.1.18  
changed lines
  Added in v.1.23


CVSweb interface <joel.bertrand@systella.fr>