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
View this message in rfc822 format
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.
How to reproduce:
Create this script and make it executable:
================================== producer ==================================
#!/bin/sh
echo Hello
/bin/sleep 3
echo World
==============================================================================
$ ./producer | /usr/bin/iconv -f ASCII
Hello
World
All the output comes at the end.
$ stdbuf -o 0 ./producer | /usr/bin/iconv -f ASCII
Hello
World
All the output comes at the end.
$ ./producer | stdbuf -i 0 /usr/bin/iconv -f ASCII
Hello
World
All the output comes at the end.
$ stdbuf -o 0 ./producer | stdbuf -i 0 /usr/bin/iconv -f ASCII
Hello
World
All the output comes at the end.
What do I need to do to get the output of the first line immediately?
/usr/bin/iconv is from glibc, but I get the same behaviour from libiconv's
'iconv' program too.
In $ ./producer | /bin/cat
I get the first line immediately, but the coreutils documentation
<http://www.gnu.org/software/coreutils/manual/html_node/stdbuf-invocation.html>
makes me think that 'stdbuf' is meant for those programs that do not work like
'cat'.
Bruno
--
In memoriam José Olaya <http://es.wikipedia.org/wiki/José_Olaya>
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.