--- rpl/src/daemon.c 2010/08/06 15:26:44 1.12 +++ rpl/src/daemon.c 2010/08/17 11:59:27 1.15 @@ -58,8 +58,23 @@ lancement_daemon(struct_processus *s_eta */ fflush(NULL); + +# ifdef _BROKEN_SIGINFO + destruction_fifos_signaux(s_etat_processus); +# endif + 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) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -97,6 +112,20 @@ lancement_daemon(struct_processus *s_eta fflush(NULL); pid = fork(); +# ifdef _BROKEN_SIGINFO + creation_fifos_signaux(s_etat_processus); +# endif + +# 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) { (*s_etat_processus).erreur_systeme = d_es_processus;