Another micro-bug: s6-tai64nlocal adds an additional space where it shouldn't really.
Compare: $ yes oh, hi! | pv -qL 10 | tai64n | s6-tai64nlocal 2015-10-20 09:47:02.681071500 oh, hi! 2015-10-20 09:47:03.493098500 oh, hi! 2015-10-20 09:47:04.304479500 oh, hi! ^C yes oh, hi! | pv -qL 10 | tai64n | tai64nlocal 2015-10-20 09:47:44.813611500 oh, hi! 2015-10-20 09:47:45.625627500 oh, hi! 2015-10-20 09:47:46.436990500 oh, hi! 2015-10-20 09:47:47.248335500 oh^C On Tue, Oct 20, 2015 at 9:38 AM, Buck Evan <[email protected]> wrote: > Thanks! Trying now... > > After bumping to your latest releases, s6-tai64n now shows line-buffered > behavior. > > Close enough! > > On Tue, Oct 20, 2015 at 1:54 AM, Laurent Bercot <[email protected]> > wrote: > >> On 20/10/2015 02:16, Buck Evan wrote: >> >>> My canonical slowly-printing example is: >>> >>> yes hello world | pv -qL 10 | tai64n >>> >>> Under daemontools classic you'll see the output gradually appear >>> character >>> by character, with timestamps. >>> Under s6, this seems to hang and I ctrl-c it. I'm sure if I waited a good >>> long while it would print, but this shows the difference in usability. >>> >> >> s6-tai64n flushes its stdout before going back to read its stdin again. >> It will never keep unflushed logs in memory. >> >> You are very likely using a version of s6-tai64n linked against a shared >> libskarnet.so.2.3.7.0 or earlier, which sometimes flushes stdout >> incorrectly. Please grab the latest skalibs and recompile. (Or use the >> static version of libskarnet, which does not exhibit the bug.) >> >> -- >> Laurent >> >> >
