BB: manually writes echo's buffer
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 6 Mar 2015 17:43:51 +0000 (12:43 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Fri, 6 Mar 2015 17:50:14 +0000 (12:50 -0500)
commitc074a35e7f174f1202f069ba3f81fe42e377351e
tree4a30a1d86dc08cda267e110405fd2deb881fe6eb
parent45749fce969c06556fce0e061f3156e5e352996d
BB: manually writes echo's buffer

So setvbuf() may or may not have worked, since we don't get *any* error
feedback from echo!  When we set to linebuffering, fflush() does not
return any errors.  The kernel sets errno and returns -1.  fflush clears
errno at some point and returns 0, instead of EOF.

I spent too much time wading through glibc's 10 levels of indirection
and don't know why this happens.  If we use block buffering instead of
line, fflush works fine.

This limits echo's to 4096 chars.  Whatever.  We're more likely to find
another issue than to have an echo that long.

Make clean and make busybox.
tools/apps/busybox/akaros-patches/1.17.3/0006-echo-linebuffered.patch [deleted file]
tools/apps/busybox/akaros-patches/1.17.3/0007-echo-buffering.patch [new file with mode: 0644]