--- rpl/src/daemon.c 2011/07/25 07:44:53 1.29 +++ rpl/src/daemon.c 2011/09/20 14:36:28 1.33 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.1.2 + RPL/2 (R) version 4.1.3 Copyright (C) 1989-2011 Dr. BERTRAND Joël This file is part of RPL/2. @@ -59,22 +59,8 @@ 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; @@ -84,6 +70,7 @@ lancement_daemon(struct_processus *s_eta if (pid > 0) { // Fin du processus père. + destruction_queue_signaux(s_etat_processus); _exit(EXIT_SUCCESS); } @@ -112,20 +99,6 @@ 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; @@ -139,6 +112,7 @@ lancement_daemon(struct_processus *s_eta } (*s_etat_processus).pid_processus_pere = getpid(); + creation_queue_signaux(s_etat_processus); modification_pid_thread_pere(s_etat_processus); return;