--- rpl/src/instructions_d5.c 2010/07/14 14:19:35 1.31 +++ rpl/src/instructions_d5.c 2010/08/06 15:33:00 1.34 @@ -20,7 +20,7 @@ */ -#include "rpl.conv.h" +#include "rpl-conv.h" /* @@ -1275,6 +1275,7 @@ instruction_detach(struct_processus *s_e return; } +# ifndef OS2 if (pthread_attr_setschedpolicy(&attributs, SCHED_OTHER) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -1293,6 +1294,7 @@ instruction_detach(struct_processus *s_e (*s_etat_processus).erreur_systeme = d_es_processus; return; } +# endif (*s_argument_thread).s_etat_processus = s_etat_processus; @@ -1589,6 +1591,9 @@ instruction_detach(struct_processus *s_e liberation(s_etat_processus, (*s_etat_processus).at_exit); (*s_etat_processus).at_exit = NULL; + liberation(s_etat_processus, (*s_etat_processus).at_poke); + (*s_etat_processus).at_poke = NULL; + (*s_etat_processus).traitement_at_poke = 'N'; for(i = 0; i < d_NOMBRE_INTERRUPTIONS; i++) { @@ -2091,6 +2096,7 @@ instruction_detach(struct_processus *s_e } liberation(s_etat_processus, (*s_etat_processus).at_exit); + liberation(s_etat_processus, (*s_etat_processus).at_poke); l_element_courant = (*s_etat_processus).liste_mutexes; while(l_element_courant != NULL) @@ -2804,7 +2810,7 @@ instruction_detach(struct_processus *s_e liberation(s_etat_processus, s_objet); -# ifndef Cygwin +# if !defined(Cygwin) (*s_etat_processus).pile_signal.ss_flags = SS_DISABLE; sigaltstack(&((*s_etat_processus).pile_signal), NULL); free((*s_etat_processus).pile_signal.ss_sp);