Diff for /rpl/src/instructions_s1.c between versions 1.18 and 1.23.2.2

version 1.18, 2010/08/13 21:00:37 version 1.23.2.2, 2011/04/13 08:32:12
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.18    RPL/2 (R) version 4.0.22
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2011 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 3245  instruction_sto(struct_processus *s_etat Line 3245  instruction_sto(struct_processus *s_etat
                     return;                      return;
                 }                  }
   
                   if ((*s_etat_processus).autorisation_nom_implicite == 'N')
                   {
                       liberation(s_etat_processus, s_objet_1);
                       liberation(s_etat_processus, s_objet_2);
   
                       (*s_etat_processus).erreur_systeme = d_es;
                       (*s_etat_processus).erreur_execution =
                               d_ex_creation_variable_globale;
                       return;
                   }
   
                 if ((s_variable.nom = malloc((strlen((*((struct_nom *)                  if ((s_variable.nom = malloc((strlen((*((struct_nom *)
                         (*s_objet_1).objet)).nom) + 1) *                          (*s_objet_1).objet)).nom) + 1) *
                         sizeof(unsigned char))) == NULL)                          sizeof(unsigned char))) == NULL)
Line 3310  instruction_sto(struct_processus *s_etat Line 3321  instruction_sto(struct_processus *s_etat
          * une variable globale.           * une variable globale.
          */           */
   
           if ((*s_etat_processus).autorisation_nom_implicite == 'N')
           {
               liberation(s_etat_processus, s_objet_1);
               liberation(s_etat_processus, s_objet_2);
   
               (*s_etat_processus).erreur_systeme = d_es;
               (*s_etat_processus).erreur_execution =
                       d_ex_creation_variable_globale;
               return;
           }
   
         if ((s_variable.nom = malloc((strlen((*((struct_nom *)          if ((s_variable.nom = malloc((strlen((*((struct_nom *)
                 (*s_objet_1).objet)).nom) + 1) * sizeof(unsigned char)))                  (*s_objet_1).objet)).nom) + 1) * sizeof(unsigned char)))
                 == NULL)                  == NULL)
Line 3679  instruction_syseval(struct_processus *s_ Line 3701  instruction_syseval(struct_processus *s_
   
         verrouillage_threads_concurrents(s_etat_processus);          verrouillage_threads_concurrents(s_etat_processus);
         pid = fork();          pid = fork();
   
 #       ifdef OS2  
         if (pid == 0)  
         {  
             sem_init(&semaphore_liste_threads, 0, 1);  
             sem_init(&semaphore_gestionnaires_signaux, 0, 0);  
             sem_init(&semaphore_gestionnaires_signaux_atomique, 0, 1);  
             sem_init(&((*s_etat_processus).semaphore_fork), 0, 0);  
         }  
 #       endif  
   
         deverrouillage_threads_concurrents(s_etat_processus);          deverrouillage_threads_concurrents(s_etat_processus);
   
         pthread_sigmask(SIG_SETMASK, &oldset, NULL);          pthread_sigmask(SIG_SETMASK, &oldset, NULL);

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


CVSweb interface <joel.bertrand@systella.fr>