chiark / gitweb /
hush.in: Turn off buffering in the pipe-merging `cat'.
authorMark Wooding <mdw@distorted.org.uk>
Tue, 27 Dec 2011 17:51:28 +0000 (17:51 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Tue, 27 Dec 2011 17:51:28 +0000 (17:51 +0000)
GNU cat never buffers anyway; BSD cat doesn't seem to unless you ask it
to do something complicated.  But it's good form.

hush.in

diff --git a/hush.in b/hush.in
index 0ecc48e4eaf58a28baa002aaa8cffa2065ffd12e..5e78234ba381c9bd80eeb1b2e17e036c690dfa32 100755 (executable)
--- a/hush.in
+++ b/hush.in
@@ -149,7 +149,7 @@ rc=$(
   { { { { set +e; $lbuf "$cmd" "$@"; echo $? >&5; } |
        while read line; do echo "| $line"; done >&4; } 2>&1 |
       while read line; do echo "* $line"; done >&4; } 4>&1 |
-    cat >&3; } 5>&1 </dev/null
+    cat -u >&3; } 5>&1 </dev/null
 )
 
 ## Write the log trailer.