Diff for /rpl/src/instructions_d5.c between versions 1.72 and 1.76

version 1.72, 2011/09/20 14:36:29 version 1.76, 2011/10/04 19:32:35
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.3    RPL/2 (R) version 4.1.4
   Copyright (C) 1989-2011 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 1231  instruction_detach(struct_processus *s_e Line 1231  instruction_detach(struct_processus *s_e
             return;              return;
         }          }
   
 #       ifndef OS2  #       ifdef SCHED_OTHER
 #       ifndef Cygwin  
         if (pthread_attr_setschedpolicy(&attributs, SCHED_OTHER) != 0)          if (pthread_attr_setschedpolicy(&attributs, SCHED_OTHER) != 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_processus;              (*s_etat_processus).erreur_systeme = d_es_processus;
             return;              return;
         }          }
   #       endif
   
   #       ifdef PTHREAD_EXPLICIT_SCHED
         if (pthread_attr_setinheritsched(&attributs,          if (pthread_attr_setinheritsched(&attributs,
                 PTHREAD_EXPLICIT_SCHED) != 0)                  PTHREAD_EXPLICIT_SCHED) != 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_processus;              (*s_etat_processus).erreur_systeme = d_es_processus;
             return;              return;
         }          }
   #       endif
   
   #       ifdef PTHREAD_SCOPE_SYSTEM
         if (pthread_attr_setscope(&attributs, PTHREAD_SCOPE_SYSTEM) != 0)          if (pthread_attr_setscope(&attributs, PTHREAD_SCOPE_SYSTEM) != 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_processus;              (*s_etat_processus).erreur_systeme = d_es_processus;
             return;              return;
         }          }
 #       endif  #       endif
 #       endif  
   
         (*s_argument_thread).s_etat_processus = s_etat_processus;          (*s_argument_thread).s_etat_processus = s_etat_processus;
   
Line 1277  instruction_detach(struct_processus *s_e Line 1279  instruction_detach(struct_processus *s_e
   
         liberation_queue_signaux(s_etat_processus);          liberation_queue_signaux(s_etat_processus);
         creation_queue_signaux(s_etat_processus);          creation_queue_signaux(s_etat_processus);
           routine_recursive = 0;
   
         (*s_etat_processus).pointeur_signal_lecture = 0;          (*s_etat_processus).pointeur_signal_lecture = 0;
         (*s_etat_processus).pointeur_signal_ecriture = 0;          (*s_etat_processus).pointeur_signal_ecriture = 0;
Line 2774  instruction_detach(struct_processus *s_e Line 2777  instruction_detach(struct_processus *s_e
 #       else  #       else
         sem_post((*s_etat_processus).semaphore_fork);          sem_post((*s_etat_processus).semaphore_fork);
         sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),          sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                 pthread_self());                  pthread_self(), SEM_FORK);
 #       endif  #       endif
   
         free((*s_etat_processus).localisation);          free((*s_etat_processus).localisation);

Removed from v.1.72  
changed lines
  Added in v.1.76


CVSweb interface <joel.bertrand@systella.fr>