Hi all, during debugging of a background process issue where I have tail -f feeding into a pipe, I was surprised by a change in tail introduced in release 8.28 of GNU coreutils: The monitoring of the output pipe and silent exit of tail e.g. in the case of
tail -f /dev/null | true . This differs from earlier versions and also from BSD, for example. I see some subtle portability bugs here. One one platform, killing the end of a pipe fed by tail will cleanly end the tail process, too, without tail attempting to write new data and failing _then_. On the other platform, the pipe stays there until new data arrives to cause tail to get the error trying to write to the pipe. Regardless of what behaviour is sensible, it causes scripts that take GNU tail's behaviour for granted to have different behaviour with other versions of this very traditional UNIX tool. So at the very least, this change should be documented as a possible implementation difference in the manual, and for sure with the version that changed behaviour, shouldn't it? Regards, Thomas Orgis -- Dr. Thomas Orgis Universität Hamburg RRZ / Basis-Infrastruktur / HPC Schlüterstr. 70 20146 Hamburg Tel.: 040/42838 8826 Fax: 040/428 38 6270
smime.p7s
Description: S/MIME cryptographic signature