PDA

View Full Version : [C] Lire un message sur l'entrée standard en non bloquant.


KnuX
19 janvier 2006, 19h54
Salut à tous,

Voilà une paire d'heures que je cherche à résoudre un problème...

J'écris un programme en C qui effectue des traitements d'informations en parallèle que l'utilisateur saisit des messages sur la console (stdin).

Pour récupérer le message saisi, j'utilise la fonction "fgets()" mais cette dernière étant bloquante, mon traitement est "suspendu" jusqu'à ce qu'un message soit envoyé dans la console...

Quelqu'un aurait une astuce pour ce problème ? Bien entendu, je ne peux pas faire de fork ni de thread. Je cherche réellement à lire l'entrée standard de façon non bloquante.

Merci d'avance :rolleyes:

Note : J'ai testé naïvement un fcntl sur stdin, ça n'a rien changé ;)

KnuX
19 janvier 2006, 21h13
Toujours naïvement, j'avais tenté un fcntl() sur "(int)stdin" pensant que ça donnerait 0... Et en fait ça marche avec fcntl(0,...,...)...

Merci Samva :)

fonji
19 janvier 2006, 21h13
EDIT : Oh putain !

Samva
20 janvier 2006, 00h15
Tant que je peux rendre service hein ;)