Quel autre solution adopter ?Envoyé par MarcG
je dois lancer des applis et recuperer ce qu'elles retournent sur leur sortie standard au fur à a mesure....
(j'en gere une 50aine à la fois donc impossible de rester bloqué...)
Quel autre solution adopter ?Envoyé par MarcG
je dois lancer des applis et recuperer ce qu'elles retournent sur leur sortie standard au fur à a mesure....
(j'en gere une 50aine à la fois donc impossible de rester bloqué...)
socket ?
ou plus "bourrin"
l'appli distante ecrit dans un fichier et l'appli recuperante lit a intervale regulier lesdit fichiers
J'ai pas suivi toute la converse juste traversé vos dires
Mais la primitive select ne peut pas etre une idée ?
D'autant plus qu'elle peut etre non bloquante
Auquel cas sur des pipes(ou fichier en général) il est possible de dire que tu fais une lecture non bloquante(O_NOBLOCK la constante je crois)
Puis juste tester la valeur de errno derriere si elle vaut EAGAIN pour savoir si tu es sorti parce que le temps est écoulé ou parce que y'a qqchose
C'est effectivement ce que je viens de voire :
où file est le file descriptor du flux :
Code : Sélectionner tout - Visualiser dans une fenêtre à part fcntl(file,F_SETFL,fcntl(file,F_GETFL)|O_NONBLOCK);
et la lecture n'est plus bloquante !
Code : Sélectionner tout - Visualiser dans une fenêtre à part int file = fileno(stream);
...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager