Diff for /rpl/src/rpl.c between versions 1.27 and 1.34

version 1.27, 2010/05/25 18:09:44 version 1.34, 2010/07/31 10:34:18
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.16    RPL/2 (R) version 4.0.18
   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 188  rplinit(int argc, char *argv[], unsigned Line 188  rplinit(int argc, char *argv[], unsigned
     pthread_mutex_init(&((*s_etat_processus).mutex), &attributs_mutex);      pthread_mutex_init(&((*s_etat_processus).mutex), &attributs_mutex);
     pthread_mutexattr_destroy(&attributs_mutex);      pthread_mutexattr_destroy(&attributs_mutex);
   
       pthread_mutexattr_init(&attributs_mutex);
       pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_NORMAL);
       pthread_mutex_init(&((*s_etat_processus).mutex_allocation),
               &attributs_mutex);
       pthread_mutexattr_destroy(&attributs_mutex);
   
 #   ifndef SEMAPHORES_NOMMES  #   ifndef SEMAPHORES_NOMMES
     sem_init(&((*s_etat_processus).semaphore_fork), 0, 0);      sem_init(&((*s_etat_processus).semaphore_fork), 0, 0);
 #   else  #   else
Line 1865  rplinit(int argc, char *argv[], unsigned Line 1871  rplinit(int argc, char *argv[], unsigned
             }              }
   
             (*s_etat_processus).at_exit = NULL;              (*s_etat_processus).at_exit = NULL;
               (*s_etat_processus).at_poke = NULL;
               (*s_etat_processus).traitement_at_poke = 'N';
   
             (*s_etat_processus).pointeurs_caracteres = NULL;              (*s_etat_processus).pointeurs_caracteres = NULL;
             (*s_etat_processus).arbre_instructions = NULL;              (*s_etat_processus).arbre_instructions = NULL;
Line 1901  rplinit(int argc, char *argv[], unsigned Line 1909  rplinit(int argc, char *argv[], unsigned
             }              }
   
             if (((*s_etat_processus).instruction_derniere_erreur =              if (((*s_etat_processus).instruction_derniere_erreur =
                     malloc(2 * sizeof(unsigned char))) == NULL)                      malloc(sizeof(unsigned char))) == NULL)
             {              {
                 erreur = d_es_allocation_memoire;                  erreur = d_es_allocation_memoire;
   
Line 2657  rplinit(int argc, char *argv[], unsigned Line 2665  rplinit(int argc, char *argv[], unsigned
                                         (*s_etat_processus).at_exit, 'E');                                          (*s_etat_processus).at_exit, 'E');
                             }                              }
                         }                          }
   
                         liberation(s_etat_processus,  
                                 (*s_etat_processus).at_exit);  
                     }                      }
   
                       liberation(s_etat_processus, (*s_etat_processus).at_exit);
                       liberation(s_etat_processus, (*s_etat_processus).at_poke);
   
                     if ((*s_etat_processus).generateur_aleatoire != NULL)                      if ((*s_etat_processus).generateur_aleatoire != NULL)
                     {                      {
                         liberation_generateur_aleatoire(s_etat_processus);                          liberation_generateur_aleatoire(s_etat_processus);
Line 3471  rplinit(int argc, char *argv[], unsigned Line 3479  rplinit(int argc, char *argv[], unsigned
     retrait_thread(s_etat_processus);      retrait_thread(s_etat_processus);
   
     pthread_mutex_destroy(&((*s_etat_processus).mutex));      pthread_mutex_destroy(&((*s_etat_processus).mutex));
       pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation));
   
 #   ifndef SEMAPHORES_NOMMES  #   ifndef SEMAPHORES_NOMMES
     sem_post(&((*s_etat_processus).semaphore_fork));      sem_post(&((*s_etat_processus).semaphore_fork));
     sem_destroy(&((*s_etat_processus).semaphore_fork));      sem_destroy(&((*s_etat_processus).semaphore_fork));

Removed from v.1.27  
changed lines
  Added in v.1.34


CVSweb interface <joel.bertrand@systella.fr>