Ah bon, on ne se prend pas juste un SIGPIPE dans les dents dans ce cas là ?
Probablement que le processus appelant se mange en effet ce signal, ce qui peut le sortir d'un appel à poll ou read entres autres, et les appels système que je connais renvoient dans ce genre de cas un -1, avec la variable errno mise à jour en conséquence.
Un appel à strerror( errno ) permets probablement ensuite de traduire un errno numérique et totalement illisible ou un numéro de signal du même acabit en une chaîne de caractères plus lisible par l'homme mais moins par la machine?
Après tout, un signal, ça s'attrape (enfin, certains), et je serais très déçu qu'un shell ne fasse pas le maximum dans ce sens là... et de fil en aiguille, via mes notions et mon expérience (uniquement gnulibc, pour ce coup, et juste debian stable), j'ai déduis sans vérifier que le message d'erreur que j'ai eu via des appels à des scripts check de runit qui affichaient ce type de message d'erreur étaient lié à ça: après tout, sv check foobar n'a aucune raison de laisser "foobar" écrire, on lui demande juste si oui ou non le service tourne, un simple "return EXIT_FAILURE" (en C) devrait faire l'affaire.
Après, je me plante peut-être aussi complètement, ça ne serait ni la première, ni la dernière fois.
[^] # Re: descripteur fermé?
Posté par freem . En réponse au message [Debian] : Améliorer ioctl.h pour communication non-standard. Évalué à 2.
Probablement que le processus appelant se mange en effet ce signal, ce qui peut le sortir d'un appel à
polloureadentres autres, et les appels système que je connais renvoient dans ce genre de cas un -1, avec la variable errno mise à jour en conséquence.Un appel à
strerror( errno )permets probablement ensuite de traduire un errno numérique et totalement illisible ou un numéro de signal du même acabit en une chaîne de caractères plus lisible par l'homme mais moins par la machine?Après tout, un signal, ça s'attrape (enfin, certains), et je serais très déçu qu'un shell ne fasse pas le maximum dans ce sens là... et de fil en aiguille, via mes notions et mon expérience (uniquement gnulibc, pour ce coup, et juste debian stable), j'ai déduis sans vérifier que le message d'erreur que j'ai eu via des appels à des scripts
checkde runit qui affichaient ce type de message d'erreur étaient lié à ça: après tout,sv check foobarn'a aucune raison de laisser "foobar" écrire, on lui demande juste si oui ou non le service tourne, un simple "return EXIT_FAILURE" (en C) devrait faire l'affaire.Après, je me plante peut-être aussi complètement, ça ne serait ni la première, ni la dernière fois.