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

version 1.23, 2010/05/25 18:09:44 version 1.24, 2010/06/02 10:28:45
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 1656  instruction_detach(struct_processus *s_e Line 1644  instruction_detach(struct_processus *s_e
          * Initialisation de la pile des processus           * Initialisation de la pile des processus
          */           */
   
           l_element_courant = (struct_liste_chainee *)
                   (*s_etat_processus).l_base_pile_processus;
   
           while(l_element_courant != NULL)
           {
               l_element_suivant = (*l_element_courant).suivant;
   
               if ((*((*(struct_processus_fils *) (*(*l_element_courant).donnee)
                       .objet)).thread).processus_detache == d_faux)
               {
                   liberation(s_etat_processus, (*((*(struct_processus_fils *)
                           (*(*l_element_courant).donnee).objet)).thread)
                           .argument);
               }
   
               free((*(*l_element_courant).donnee).objet);
               free((*l_element_courant).donnee);
               free(l_element_courant);
   
               l_element_courant = l_element_suivant;
           }
   
         (*s_etat_processus).l_base_pile_processus = NULL;          (*s_etat_processus).l_base_pile_processus = NULL;
         // Les données associées sont déjà effacées par liberation_thread().  
   
         /*          /*
          * Initialisation de la pile système           * Initialisation de la pile système
Line 1847  instruction_detach(struct_processus *s_e Line 1856  instruction_detach(struct_processus *s_e
   À noter : on ne ferme pas la connexion car la conséquence immédiate est    À noter : on ne ferme pas la connexion car la conséquence immédiate est
   une destruction de l'objet pour le processus père.    une destruction de l'objet pour le processus père.
 ================================================================================  ================================================================================
   */
   
         l_element_courant = (*s_etat_processus).s_connecteurs_sql;          l_element_courant = (*s_etat_processus).s_connecteurs_sql;
   
Line 1854  instruction_detach(struct_processus *s_e Line 1864  instruction_detach(struct_processus *s_e
         {          {
             l_element_suivant = (*l_element_courant).suivant;              l_element_suivant = (*l_element_courant).suivant;
   
             sqlclose((*l_element_courant).donnee);  //          sqlclose((*l_element_courant).donnee);
             liberation(s_etat_processus, (*l_element_courant).donnee);              liberation(s_etat_processus, (*l_element_courant).donnee);
             l_element_courant = l_element_suivant;              l_element_courant = l_element_suivant;
         }          }
 */  
   
         (*s_etat_processus).s_connecteurs_sql = NULL;          (*s_etat_processus).s_connecteurs_sql = NULL;
   

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


CVSweb interface <joel.bertrand@systella.fr>