Votre navigateur est obsolète. Téléchargez un navigateur moderne, par exemple FireFox.
Léa-Linux : Forum
Le forum de Léa abrite des discussions autour des Logiciels libres.
Syndication
  • RSS ForumForum complet
  • RSS Forum - DéveloppementForum - Développement
  • RSS Forum - Développement - 327473Cette discussion

Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Important : quand vous posez une question, n'oubliez pas de nous donner les indications suffisantes pour que nous puissions répondre. En effet, la divination n'est pas le fort du Linuxien averti. Pour une meilleure compréhension, le bon usage de la grammaire et de l'orthographe est fortement encouragé. En particulier, le langage SMS est à éviter absolument. En cas d'abus, il pourra être censuré sans autre forme de procès.
Les messages dont le contenu est illégal (incitant à la haine - raciale ou autre, diffamant), ou dont le contenu est sans rapport avec le sujet du forum, ou qui sont parfaitement stupides ou hors sujet seront supprimés sans pitié. Il pourra même être fait appel au fournisseur d'accès du coupable pour faire cesser ses agissements.
» Index du forum » Développement » option O_NDELAY pour la fonction open
Aller à la discussion: PrécédentSuivante
Action: Nouveau sujetChercherS'authentifier
option O_NDELAY pour la fonction open
Auteur: networkman (IP enregistrée)
Date: le 15 août 2007 à 15:27

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.

Re: option O_NDELAY pour la fonction open
Avatar
Auteur: Sve@r (IP enregistrée)
Date: le 26 août 2007 à 21:07

networkman a écrit :

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).

Le flag "O_NDELAY" demande que les read soient non bloquants !!!

networkman a écrit :

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.

Ce qui est normal avec le flag O_NDELAY

networkman a écrit :

En fait je cherche un équivalent de O_NDELAY sur Linux.

O_NONBLOCK

networkman a écrit :

Voila j'aimerais avoir quelques infos sur tout ça.

[fr.lang.free.fr]
[www-igm.univ-mlv.fr]





L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]



Nom du forum : (antispam) - (en développement:saisir un texte pour le message, rempli cette zone automatiquement)
Votre nom: 
Votre email: 
Sujet: 

 
Ce forum est boosté par Phorum.