Bonjour,
Actuellement je suis en train de porter une application de Solaris8 vers Linux. Dans mon application, la communication inter-processus se fait par tubes. L'accès en lecture au tube par les processus se fait grâce à la fonction read en mode bloquant pendant un certain temps (utilisation O_NDELAY dans la fonction open). Lorsque je passe sur Linux, la lecture ne se comporte pas de la même manière: la lecture est non bloquante sans délai.
En fait je cherche un équivalent de O_NDELAY sur Linux.
Ensuite, sur Unix lorsqu'il n'y a aucune données dans le tube la fonction read renvoie la valeur 0. Sous Linux, la fonction read renvoie la valeur -1 (errno = EAGAIN), c'est a dire aucune données disponibles dans le tube.
J'ai l'impression que sous Linux la fonction read ne fait aucune distinction entre aucune données à lire et aucune données disponibles alors que sous Unix on fait bien la distinction.
Voila j'aimerais avoir quelques infos sur tout ça.
Poste le Wednesday 15 August 2007 15:27:41