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

version 1.8, 2010/04/17 18:57:35 version 1.18, 2010/08/13 21:00:37
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.14    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 20 Line 20
 */  */
   
   
 #include "rpl.conv.h"  #include "rpl-conv.h"
   
   
 /*  /*
Line 1275  instruction_same(struct_processus *s_eta Line 1275  instruction_same(struct_processus *s_eta
         printf("    1: %s\n", d_RPN);          printf("    1: %s\n", d_RPN);
         printf("->  1: %s\n", d_RPN);          printf("->  1: %s\n", d_RPN);
   
           printf("    2: %s\n", d_PRC);
           printf("    1: %s\n", d_PRC);
           printf("->  1: %s\n", d_INT);
   
         return;          return;
     }      }
     else if ((*s_etat_processus).test_instruction == 'Y')      else if ((*s_etat_processus).test_instruction == 'Y')
Line 2569  instruction_start(struct_processus *s_et Line 2573  instruction_start(struct_processus *s_et
     }      }
   
     empilement_pile_systeme(s_etat_processus);      empilement_pile_systeme(s_etat_processus);
   
       if ((*s_etat_processus).erreur_systeme != d_es)
       {
           return;
       }
   
     (*(*s_etat_processus).l_base_pile_systeme).type_cloture = 'S';      (*(*s_etat_processus).l_base_pile_systeme).type_cloture = 'S';
   
     if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),      if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
Line 2578  instruction_start(struct_processus *s_et Line 2588  instruction_start(struct_processus *s_et
         return;          return;
     }      }
   
     if (((*s_objet_1).type != INT) &&      if (((*s_objet_1).type != INT) && ((*s_objet_1).type != REL))
             ((*s_objet_1).type != REL))  
     {      {
         liberation(s_etat_processus, s_objet_1);          liberation(s_etat_processus, s_objet_1);
   
Line 2596  instruction_start(struct_processus *s_et Line 2605  instruction_start(struct_processus *s_et
         return;          return;
     }      }
   
     if (((*s_objet_2).type != INT) &&      if (((*s_objet_2).type != INT) && ((*s_objet_2).type != REL))
             ((*s_objet_2).type != REL))  
     {      {
         liberation(s_etat_processus, s_objet_1);          liberation(s_etat_processus, s_objet_1);
         liberation(s_etat_processus, s_objet_2);          liberation(s_etat_processus, s_objet_2);
Line 3671  instruction_syseval(struct_processus *s_ Line 3679  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.8  
changed lines
  Added in v.1.18


CVSweb interface <joel.bertrand@systella.fr>