--- rpl/src/instructions_s10.c 2010/08/13 21:00:37 1.21 +++ rpl/src/instructions_s10.c 2011/05/09 13:52:20 1.30.2.3 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.0.18 - Copyright (C) 1989-2010 Dr. BERTRAND Joël + RPL/2 (R) version 4.0.24 + Copyright (C) 1989-2011 Dr. BERTRAND Joël This file is part of RPL/2. @@ -90,19 +90,6 @@ instruction_spawn(struct_processus *s_et return; } -# ifdef _BROKEN_SIGINFO - if ((*s_etat_processus).langue == 'F') - { - printf("+++Attention : Support des processus multiples indisponible\n"); - } - else - { - printf("+++Attention : Multiprocess unavailable\n"); - } - - return; -# endif - if (test_cfsf(s_etat_processus, 31) == d_vrai) { if (empilement_pile_last(s_etat_processus, 1) == d_erreur) @@ -361,6 +348,12 @@ instruction_spawn(struct_processus *s_et pthread_mutex_init(&((*s_argument_thread).mutex), &attributs_mutex); pthread_mutexattr_destroy(&attributs_mutex); + pthread_mutexattr_init(&attributs_mutex); + pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_RECURSIVE); + pthread_mutex_init(&((*s_argument_thread).mutex_nombre_references), + &attributs_mutex); + pthread_mutexattr_destroy(&attributs_mutex); + (*s_argument_thread).processus_detache = d_faux; (*s_argument_thread).thread_actif = d_faux; (*s_argument_thread).thread_pere = pthread_self(); @@ -411,6 +404,7 @@ instruction_spawn(struct_processus *s_et } # ifndef OS2 +# ifndef Cygwin if (pthread_attr_setschedpolicy(&attributs, SCHED_OTHER) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -429,6 +423,7 @@ instruction_spawn(struct_processus *s_et return; } # endif +# endif /* * Création de l'objet à retourner @@ -512,6 +507,7 @@ instruction_spawn(struct_processus *s_et } # ifndef OS2 +# ifndef Cygwin if (pthread_attr_setschedpolicy(&attributs, SCHED_OTHER) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -531,6 +527,7 @@ instruction_spawn(struct_processus *s_et return; } # endif +# endif // Attente de l'affectation de la grandeur processus.tid par le thread fils.