GNU bug report logs -
#8961
stdbuf has no effect on some programs
Previous Next
Reported by: Bruno Haible <bruno <at> clisp.org>
Date: Wed, 29 Jun 2011 21:00:03 UTC
Severity: normal
Done: Pádraig Brady <P <at> draigBrady.com>
Bug is archived. No further changes may be made.
Full log
Message #13 received at 8961-done <at> debbugs.gnu.org (full text, mbox):
On 30/06/11 00:05, Pádraig Brady wrote:
> On 29/06/11 21:59, Bruno Haible wrote:
>> Hi,
>>
>> The glibc 'iconv' program buffers its input, and some people don't like this.
>> I thought that the 'stdbuf' program could remove the buffering, but it does not
>> work.
>
> The following shows I think that iconv is bypassing stdio and buffering internally?
>
> (echo; sleep 3; echo) | ltrace iconv -f ASCII
>
> The stdbuf man page notes that:
>
> NOTE: If COMMAND adjusts the buffering of its standard streams (`tee'
> does for e.g.) then that will override corresponding settings changed
> by `stdbuf'. Also some filters (like `dd' and `cat' etc.) don't use
> streams for I/O, and are thus unaffected by `stdbuf' settings.
In fact iconv seems to buffer for ever and so it not scalable,
as demonstrated with this consuming all of memory:
yes | iconv
It would be OK to treat '\n' simply in all
unibyte encodings and utf8 for example,
but that would introduce an inconsistency I suppose.
Though maybe iconv could employ more scalable
buffering at least, for all encodings?
cheers,
Pádraig.
This bug report was last modified 13 years and 326 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.