Ce n'est pas un problème avec rev, mais avec la libc.
Et en fait ce n'est pas un problème.
La libc ne bufferise pas lorsque c'est un terminal, autrement elle bufferise (le programme doit alors faire des flush() explicites si le comportenant par défaut de la libc ne convient pas).
La commande strace n'indique que les appels noyaux (il peut y avoir plusieurs appels à write() de la libc avant un write() du noyau).
Pour voir les appels de rev à la libc, il faut utiliser ltrace.
[^] # Re: C'est rev
Posté par IsNotGood . En réponse au message Flux dans un pipe. Évalué à 5.
Et en fait ce n'est pas un problème.
La libc ne bufferise pas lorsque c'est un terminal, autrement elle bufferise (le programme doit alors faire des flush() explicites si le comportenant par défaut de la libc ne convient pas).
La commande strace n'indique que les appels noyaux (il peut y avoir plusieurs appels à write() de la libc avant un write() du noyau).
Pour voir les appels de rev à la libc, il faut utiliser ltrace.