Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1754 connectés 

  FORUM HardWare.fr
  Programmation
  C

  select() et FIFO

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

select() et FIFO

n°1575868
ITM
Avatar peint à la main
Posté le 16-06-2007 à 17:39:20  profilanswer
 

Salut !
 
Une ptite question rapide :
la fonction select permet de voir si des descripteurs sont disponibles immédiatement en écriture (entre autres bien sur)
Dans le cas d'un FIFO, ça donne quoi? Il faut qu'un autre process soit en read sur le FIFO ou juste que le FIFO soit ouvert en écriture ?
 
merci :hello:


---------------
iteme.free.fr | Mon feedback
mood
Publicité
Posté le 16-06-2007 à 17:39:20  profilanswer
 

n°1575906
Sve@r
Posté le 16-06-2007 à 21:30:37  profilanswer
 

ITM a écrit :

Salut !
 
Une ptite question rapide :
la fonction select permet de voir si des descripteurs sont disponibles immédiatement en écriture (entre autres bien sur)
Dans le cas d'un FIFO, ça donne quoi? Il faut qu'un autre process soit en read sur le FIFO ou juste que le FIFO soit ouvert en écriture ?
 
merci :hello:


Bonne question Calaghan !!!
 
A mon avis, si ton processus a ouvert ton fifo en mode "w", alors ton select lancé depuis le processus verra le fifo disponible pour l'écriture.
Maintenant, si tu écrits dedans (via un fwrite par exemple), alors ta fonction d'écriture sera bloquée jusqu'à ce qu'un autre processus vienne lire le fifo...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1575920
ITM
Avatar peint à la main
Posté le 17-06-2007 à 00:00:40  profilanswer
 

Sve@r a écrit :

Bonne question Calaghan !!!
 
A mon avis, si ton processus a ouvert ton fifo en mode "w", alors ton select lancé depuis le processus verra le fifo disponible pour l'écriture.
Maintenant, si tu écrits dedans (via un fwrite par exemple), alors ta fonction d'écriture sera bloquée jusqu'à ce qu'un autre processus vienne lire le fifo...


 
Bein je pense comme toi aussi, mais j'aimerais en être sur..
 
Pour le dernier point y'a pas de soucis, c'est justement ce que je veux éviter. Ecrire en mode non bloquant, concrètement ça change quoi si l'autre en face ne lit pas? Le paquet est perdu ou pas?
 


---------------
iteme.free.fr | Mon feedback
n°1575951
Sve@r
Posté le 17-06-2007 à 12:09:28  profilanswer
 

ITM a écrit :

Bein je pense comme toi aussi, mais j'aimerais en être sur..


Faut tester
 

ITM a écrit :

c'est justement ce que je veux éviter. Ecrire en mode non bloquant, concrètement ça change quoi si l'autre en face ne lit pas? Le paquet est perdu ou pas?


Si tu écrits en mode non bloquant et que ça ne peut pas se faire, ta fonction d'écriture te renvoie une erreur (NULL ou -1 selon la fonction) et errno est positionné à EAGAIN.
Etant donné que ça ne s'est pas fait, ce que t'as écrit est perdu.


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1580371
nORKy
Grmmph...
Posté le 28-06-2007 à 14:28:01  profilanswer
 

A mon avis, c'est le kernel qui gère.
Quelque soit le type de tunnel, les données écrites sont comme 'entassé' juste avant la sortie du tunnel, et celui au bout peut lire quand lit veut ou alors on lui indique qu'il y a qqchose à lire.
Donc, un FIFO, c'est comme le reste, on balance tant que le FIFO est connecté, mais pas obligé que l'autre en face soit en lecture.


Message édité par nORKy le 28-06-2007 à 14:30:31
n°1580446
matafan
Posté le 28-06-2007 à 15:33:51  profilanswer
 

J'aurais dit qu'on peut écrire dans un fifo même si l'autre ne lit pas... Ce que tu écris est bufferisé par le kernel.
 
Edit : ah oui c'est ce que tu viens de dire en fait.


Message édité par matafan le 28-06-2007 à 15:34:28
n°1580499
Taz
bisounours-codeur
Posté le 28-06-2007 à 16:32:08  profilanswer
 

select pue. utilise au moins poll


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  select() et FIFO

 

Sujets relatifs
select() : ordre de priorité[MySQL] Procédure stockée : parcourir les résultats d'un SELECT ?
boucle for a l'interieur d'un select case possible en vb6?[RESOLU][RÉSOLU] requête MySQL select prochains évènements
[ORACLE] Problème execution requête SELECTChanger une balise select en JS
[HTML/JavaScript] Effacer la sélection d'un select multipleProblème select
Nombre de résultat d'un select[SQL] select avec date
Plus de sujets relatifs à : select() et FIFO


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR