--- rpl/src/gestion_objets.c 2011/09/14 14:34:28 1.66 +++ rpl/src/gestion_objets.c 2011/09/14 17:55:59 1.67 @@ -2801,16 +2801,12 @@ copie_etat_processus(struct_processus *s * n'ont aucune raison de changer. */ -# ifndef SEMAPHORES_NOMMES - sem_init(&((*s_nouvel_etat_processus).semaphore_fork), 0, 0); -# else - if (((*s_nouvel_etat_processus).semaphore_fork = sem_init2(0, sem_fork)) - == SEM_FAILED) - { - (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; - return(NULL); - } -# endif + pthread_mutexattr_init(&attributs_mutex); + pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_NORMAL); + pthread_mutex_init(&((*s_nouvel_etat_processus).mutex_fork), + &attributs_mutex); + pthread_mutexattr_destroy(&attributs_mutex); + pthread_mutex_lock(&((*s_nouvel_etat_processus).mutex_fork)); initialisation_contexte_cas(s_etat_processus); @@ -3939,16 +3935,6 @@ debug_fork() pthread_mutex_lock(&mutex_allocation); 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 - if (pid == 0) { liberation_queue_signaux(s_etat_processus);