--- rpl/src/instructions_r4.c 2010/04/07 13:45:08 1.11 +++ rpl/src/instructions_r4.c 2010/08/06 15:26:49 1.19 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.0.14 + RPL/2 (R) version 4.0.18 Copyright (C) 1989-2010 Dr. BERTRAND Joël This file is part of RPL/2. @@ -20,7 +20,7 @@ */ -#include "rpl.conv.h" +#include "rpl-conv.h" /* @@ -874,7 +874,9 @@ instruction_read(struct_processus *s_eta struct sockaddr_un adresse_unix; struct sockaddr_in adresse_ipv4; +# ifdef IPV6 struct sockaddr_in6 adresse_ipv6; +# endif struct timespec attente; @@ -1913,11 +1915,19 @@ instruction_read(struct_processus *s_eta return; } +# ifndef SEMAPHORES_NOMMES if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; } +# else + if (sem_post((*s_etat_processus).semaphore_fork) != 0) + { + (*s_etat_processus).erreur_systeme = d_es_processus; + return; + } +# endif for(;;) { @@ -1944,20 +1954,28 @@ instruction_read(struct_processus *s_eta else if ((*((struct_socket *) (*s_objet_argument_1).objet)) .domaine == PF_INET6) { +# ifdef IPV6 longueur_adresse = sizeof(adresse_ipv6); longueur_effective = recvfrom((*((struct_socket *) (*s_objet_argument_1).objet)).socket, tampon_lecture, longueur_questure, MSG_PEEK | MSG_DONTWAIT, (struct sockaddr *) &adresse_ipv6, &longueur_adresse); +# else +# endif } else { free(tampon_lecture); liberation(s_etat_processus, s_objet_argument_1); +# ifndef SEMAPHORES_NOMMES while(sem_wait(&((*s_etat_processus) .semaphore_fork)) == -1) +# else + while(sem_wait((*s_etat_processus) + .semaphore_fork) == -1) +# endif { if (errno != EINTR) { @@ -1985,8 +2003,11 @@ instruction_read(struct_processus *s_eta } } - while(sem_wait(&((*s_etat_processus).semaphore_fork)) - == -1) +# ifndef SEMAPHORES_NOMMES + while(sem_wait(&((*s_etat_processus).semaphore_fork)) == -1) +# else + while(sem_wait((*s_etat_processus).semaphore_fork) == -1) +# endif { if (errno != EINTR) { @@ -2273,6 +2294,7 @@ instruction_read(struct_processus *s_eta else if ((*((struct_socket *) (*s_objet_argument_1).objet)) .domaine == PF_INET6) { +# ifdef IPV6 longueur_adresse = sizeof(adresse_ipv6); recvfrom((*((struct_socket *) (*s_objet_argument_1).objet)).socket, tampon_lecture, @@ -2339,6 +2361,8 @@ instruction_read(struct_processus *s_eta (*(*((struct_liste_chainee *) (*s_objet_adresse).objet)) .suivant).suivant = NULL; +# else +# endif } else {