Diff for /rpl/src/instructions_s8.c between versions 1.59 and 1.75

version 1.59, 2013/05/21 12:10:12 version 1.75, 2016/03/16 12:19:34
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.14    RPL/2 (R) version 4.1.25
   Copyright (C) 1989-2013 Dr. BERTRAND Joël    Copyright (C) 1989-2016 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 887  instruction_sqlquery(struct_processus *s Line 887  instruction_sqlquery(struct_processus *s
                         .descripteur.mysql);                          .descripteur.mysql);
             }              }
   
             if (presence_resultat == d_vrai)              if (empilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
                       s_objet_resultat) == d_erreur)
             {              {
                 if (empilement(s_etat_processus,                  return;
                         &((*s_etat_processus).l_base_pile),  
                         s_objet_resultat) == d_erreur)  
                 {  
                     return;  
                 }  
             }              }
   
 #           else  #           else
Line 1224  instruction_sqlquery(struct_processus *s Line 1220  instruction_sqlquery(struct_processus *s
             attente.tv_sec = 0;              attente.tv_sec = 0;
             attente.tv_nsec = GRANULARITE_us * 1000;              attente.tv_nsec = GRANULARITE_us * 1000;
   
               if ((s_objet_resultat =
                       allocation(s_etat_processus, LST)) == NULL)
               {
                   (*s_etat_processus).erreur_systeme =
                           d_es_allocation_memoire;
                   return;
               }
   
               // Création d'une liste vide
   
               (*s_objet_resultat).objet = NULL;
               l_element_courant = (*s_objet_resultat).objet;
   
             do              do
             {              {
                 switch(ios = sqlite3_step(ppStmt))                  switch(ios = sqlite3_step(ppStmt))
                 {                  {
                     case SQLITE_ROW:                      case SQLITE_ROW:
                     {                      {
                         if (s_objet_resultat == NULL)  
                         {  
                             if ((s_objet_resultat =  
                                     allocation(s_etat_processus, LST)) == NULL)  
                             {  
                                 (*s_etat_processus).erreur_systeme =  
                                         d_es_allocation_memoire;  
                                 return;  
                             }  
   
                             presence_resultat = d_vrai;  
   
                             // Création d'une liste vide  
   
                             (*s_objet_resultat).objet = NULL;  
                             l_element_courant = (*s_objet_resultat).objet;  
                         }  
   
                         // Ajout d'une liste au bout de la liste                          // Ajout d'une liste au bout de la liste
                         // contenant les lignes                          // contenant les lignes
   
Line 1417  instruction_sqlquery(struct_processus *s Line 1408  instruction_sqlquery(struct_processus *s
                         .descripteur.sqlite);                          .descripteur.sqlite);
             }              }
   
             if (presence_resultat == d_vrai)              if (empilement(s_etat_processus, &((*s_etat_processus)
                       .l_base_pile), s_objet_resultat) == d_erreur)
             {              {
                 if (empilement(s_etat_processus, &((*s_etat_processus)                  return;
                         .l_base_pile), s_objet_resultat) == d_erreur)  
                 {  
                     return;  
                 }  
             }              }
         }          }
         else          else
Line 1516  instruction_stop(struct_processus *s_eta Line 1504  instruction_stop(struct_processus *s_eta
                 .processus_detache == d_vrai)                  .processus_detache == d_vrai)
         {          {
             envoi_signal_processus((*(*((struct_processus_fils *)              envoi_signal_processus((*(*((struct_processus_fils *)
                     (*s_objet).objet)).thread).pid, rpl_sigstop);                      (*s_objet).objet)).thread).pid, rpl_sigstop, d_faux);
         }          }
         else          else
         {          {
             if (pthread_mutex_lock(&((*s_etat_processus).mutex)) != 0)              if (pthread_mutex_lock(&((*s_etat_processus).mutex_pile_processus))
                       != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;
Line 1562  instruction_stop(struct_processus *s_eta Line 1551  instruction_stop(struct_processus *s_eta
                     if (pthread_mutex_lock(&((*(*((struct_processus_fils *)                      if (pthread_mutex_lock(&((*(*((struct_processus_fils *)
                             (*s_objet).objet)).thread).mutex)) != 0)                              (*s_objet).objet)).thread).mutex)) != 0)
                     {                      {
                         if (pthread_mutex_unlock(&((*s_etat_processus).mutex))                          if (pthread_mutex_unlock(&((*s_etat_processus)
                                 != 0)                                  .mutex_pile_processus)) != 0)
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es_processus;                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             return;                              return;
Line 1583  instruction_stop(struct_processus *s_eta Line 1572  instruction_stop(struct_processus *s_eta
                     if (pthread_mutex_unlock(&((*(*((struct_processus_fils *)                      if (pthread_mutex_unlock(&((*(*((struct_processus_fils *)
                             (*s_objet).objet)).thread).mutex)) != 0)                              (*s_objet).objet)).thread).mutex)) != 0)
                     {                      {
                         if (pthread_mutex_unlock(&((*s_etat_processus).mutex))                          if (pthread_mutex_unlock(&((*s_etat_processus)
                                 != 0)                                  .mutex_pile_processus)) != 0)
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es_processus;                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             return;                              return;
Line 1596  instruction_stop(struct_processus *s_eta Line 1585  instruction_stop(struct_processus *s_eta
                 }                  }
             }              }
   
             if (pthread_mutex_unlock(&((*s_etat_processus).mutex)) != 0)              if (pthread_mutex_unlock(&((*s_etat_processus)
                       .mutex_pile_processus)) != 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
                 return;                  return;

Removed from v.1.59  
changed lines
  Added in v.1.75


CVSweb interface <joel.bertrand@systella.fr>