Diff for /rpl/src/rpl.h between versions 1.186 and 1.187

version 1.186, 2012/12/14 14:19:50 version 1.187, 2012/12/17 21:22:44
Line 443  union semun Line 443  union semun
   
     __EXTERN__ pthread_mutex_t      mutex_liste_threads      __EXTERN__ pthread_mutex_t      mutex_liste_threads
                                             __STATIC_MUTEX_INITIALIZATION__;                                              __STATIC_MUTEX_INITIALIZATION__;
       __EXTERN__ pthread_mutex_t      mutex_liste_variables_partagees
                                               __STATIC_MUTEX_INITIALIZATION__;
     __EXTERN__ pthread_mutex_t      mutex_gestionnaires_signaux_atomique      __EXTERN__ pthread_mutex_t      mutex_gestionnaires_signaux_atomique
                                             __STATIC_MUTEX_INITIALIZATION__;                                              __STATIC_MUTEX_INITIALIZATION__;
     __EXTERN__ pthread_mutex_t      mutex_sections_critiques;      __EXTERN__ pthread_mutex_t      mutex_sections_critiques;
Line 1738  typedef struct arbre_variables Line 1740  typedef struct arbre_variables
   
     struct liste_variables              *feuille;      struct liste_variables              *feuille;
     struct liste_variables_statiques    *feuille_statique;      struct liste_variables_statiques    *feuille_statique;
     struct liste_variables_partagees    **feuille_partagee;  
   
     pthread_mutex_t                     mutex_feuille_partagee;  
 } struct_arbre_variables;  } struct_arbre_variables;
   
   typedef struct arbre_variables_partagees
   {
       unsigned int                        noeuds_utilises;
                                           // Nombre de noeuds utilisés dans le
                                           // tableau **noeuds
       signed int                          indice_tableau_pere;
                                           // Position de la structure dans le
                                           // tableau **noeuds du père
   
       struct arbre_variables_partagees    *noeud_pere;
       struct arbre_variables_partagees    **noeuds;
   
       struct liste_variables_partagees    *feuille;
   
       pthread_mutex_t                     mutex_feuille;
   } struct_arbre_variables_partagees;
   
 #define INITIALISATION_MUTEX(mutex) \  #define INITIALISATION_MUTEX(mutex) \
     do { \      do { \
         pthread_mutexattr_t     attributs_mutex; \          pthread_mutexattr_t     attributs_mutex; \
Line 1801  typedef struct liste_variables_partagees Line 1817  typedef struct liste_variables_partagees
     struct liste_variables_partagees    *suivant;      struct liste_variables_partagees    *suivant;
     struct liste_variables_partagees    *precedent;      struct liste_variables_partagees    *precedent;
     struct liste_variables_partagees    *reference;      struct liste_variables_partagees    *reference;
     struct_arbre_variables              *feuille;      struct_arbre_variables_partagees    *feuille;
     struct_variable_partagee            *variable;      struct_variable_partagee            *variable;
       pthread_t                           tid;
       pid_t                               pid;
 } struct_liste_variables_partagees;  } struct_liste_variables_partagees;
 #endif  #endif
   
Line 1923  typedef struct processus Line 1941  typedef struct processus
     struct_liste_variables      *l_liste_variables_par_niveau;      struct_liste_variables      *l_liste_variables_par_niveau;
     struct_liste_variables_statiques      struct_liste_variables_statiques
                                 *l_liste_variables_statiques;                                  *l_liste_variables_statiques;
   
       struct_arbre_variables_partagees
                                   **s_arbre_variables_partagees;
     struct_liste_variables_partagees      struct_liste_variables_partagees
                                 *l_liste_variables_partagees;                                  **l_liste_variables_partagees;
   
     logical1                    niveau_supprime;      logical1                    niveau_supprime;
   
Line 2306  typedef struct processus Line 2327  typedef struct processus
     struct_arbre_variables      *variables_noeud[TAILLE_CACHE];      struct_arbre_variables      *variables_noeud[TAILLE_CACHE];
     int                         pointeur_variables_noeud;      int                         pointeur_variables_noeud;
   
       struct_arbre_variables_partagees
                                   *variables_partagees_noeud[TAILLE_CACHE];
       int                         pointeur_variables_partagees_noeud;
   
     struct_liste_variables      *variables_feuille[TAILLE_CACHE];      struct_liste_variables      *variables_feuille[TAILLE_CACHE];
     int                         pointeur_variables_feuille;      int                         pointeur_variables_feuille;
   
Line 2314  typedef struct processus Line 2339  typedef struct processus
   
     struct_arbre_variables      **variables_tableau_noeuds[TAILLE_CACHE];      struct_arbre_variables      **variables_tableau_noeuds[TAILLE_CACHE];
     int                         pointeur_variables_tableau_noeuds;      int                         pointeur_variables_tableau_noeuds;
   
       struct_arbre_variables_partagees
                                   **variables_tableau_noeuds_partages
                                   [TAILLE_CACHE];
       int                         pointeur_variables_tableau_noeuds_partages;
 } struct_processus;  } struct_processus;
 #endif  #endif
   
Line 2994  void liberation_arbre_instructions(struc Line 3024  void liberation_arbre_instructions(struc
 void liberation_arbre_variables(struct_processus *s_etat_processus,  void liberation_arbre_variables(struct_processus *s_etat_processus,
         struct_arbre_variables *arbre, logical1 definitions);          struct_arbre_variables *arbre, logical1 definitions);
 void liberation_arbre_variables_partagees(struct_processus *s_etat_processus,  void liberation_arbre_variables_partagees(struct_processus *s_etat_processus,
         struct_arbre_variables *arbre);          struct_arbre_variables_partagees *arbre);
 void liberation_contexte_cas(struct_processus *s_etat_processus);  void liberation_contexte_cas(struct_processus *s_etat_processus);
 void liberation_generateur_aleatoire(struct_processus *s_etat_processus);  void liberation_generateur_aleatoire(struct_processus *s_etat_processus);
   void liberation_mutexes_arbre_variables_partagees(struct_processus
           *s_etat_processus, struct_arbre_variables_partagees *l_element_courant);
 void liberation_threads(struct_processus *s_etat_processus);  void liberation_threads(struct_processus *s_etat_processus);
 void liberation_profil(struct_processus *s_etat_processus);  void liberation_profil(struct_processus *s_etat_processus);
 void localisation_courante(struct_processus *s_etat_processus);  void localisation_courante(struct_processus *s_etat_processus);
Line 3257  logical1 recherche_variable(struct_proce Line 3289  logical1 recherche_variable(struct_proce
         unsigned char *nom_variable);          unsigned char *nom_variable);
 logical1 recherche_variable_globale(struct_processus *s_etat_processus,  logical1 recherche_variable_globale(struct_processus *s_etat_processus,
         unsigned char *nom_variable);          unsigned char *nom_variable);
 logical1 recherche_variable_partagee(struct_processus *s_etat_processus,  
         unsigned char *nom_variable, union_position_variable position,  
         unsigned char origine);  
 logical1 test_cfsf(struct_processus *s_etat_processus,  logical1 test_cfsf(struct_processus *s_etat_processus,
         unsigned char indice_drapeau);          unsigned char indice_drapeau);
 logical1 test_expression_rpn(unsigned char *chaine);  logical1 test_expression_rpn(unsigned char *chaine);
Line 3290  int alsprintf(unsigned char **strp, cons Line 3319  int alsprintf(unsigned char **strp, cons
 int interruption_violation_access(void *adresse_fautive, int gravite);  int interruption_violation_access(void *adresse_fautive, int gravite);
 #ifndef RPLARGS  #ifndef RPLARGS
 int liste_variables(struct_processus *s_etat_processus,  int liste_variables(struct_processus *s_etat_processus,
         struct_tableau_variables *tableau, int position,          struct_tableau_variables *tableau);
         struct_arbre_variables *l_element_courant);  int nombre_variables(struct_processus *s_etat_processus);
 int nombre_variables(struct_processus *s_etat_processus,  
         struct_arbre_variables *l_element_courant);  
 int readline_analyse_syntaxique(int count, int key);  int readline_analyse_syntaxique(int count, int key);
 int readline_effacement(int count, int key);  int readline_effacement(int count, int key);
 #endif  #endif
Line 3398  struct_arbre_variables **allocation_tabl Line 3425  struct_arbre_variables **allocation_tabl
 /*  /*
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   Fonctions renvoyant un pointeur sur une *struct_liste_variables_statiques    Fonctions renvoyant un pointeur sur une *struct_liste_variables_statiques
     ou *struct_liste_variables_partagees
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
 */  */
   
 struct_liste_variables_statiques *recherche_variable_statique(struct_processus  struct_liste_variables_statiques *recherche_variable_statique(struct_processus
         *s_etat_processus, unsigned char *nom_variable,          *s_etat_processus, unsigned char *nom_variable,
         union_position_variable position,          union_position_variable position, unsigned char origine);
         unsigned char origine);  struct_liste_variables_partagees *recherche_variable_partagee(struct_processus
           *s_etat_processus, unsigned char *nom_variable,
           union_position_variable position, unsigned char origine);
 #endif  #endif
   
 /*  /*

Removed from v.1.186  
changed lines
  Added in v.1.187


CVSweb interface <joel.bertrand@systella.fr>