Bonjour,
Je développe un genre de petit "shell" qui sert à lancer des programmes tout en analysant en tâche de fond leurs entrées/sorties.
C'est implémenté en C un peu "à l'arrache", avec fork, puis execlp pour le fils. Pendant ce temps le père lit la sortie du tube sur lequel le fils écrit, et traite la sortie d'une manière ou d'une autre.
Le père se suicide tragiquement lorqu'il entend le SIGCHLD de la mort de son fils
Bref, tout ça fonctionne plutôt bien, sauf que si on invoque un truc genre ls avec le fils, il quitte tellement rapidement que le père se suicide avant d'avoir traité les données.
Pour l'instant j'ai mis une alarme dans mon handler de SIGCHLD, ce qui fait que le père se suicide après un certain temps seulement.
Quelqu'un a une idée pour faire un truc un peu moins cracra?
-----