diff options
author | H. Peter Anvin <hpa@linux.intel.com> | 2011-10-20 17:16:20 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2011-11-17 17:30:37 -0800 |
commit | de8a626b40a30ed90541d091e95c1dc8da65fa8a (patch) | |
tree | f68ffa5e39fa4cdd64a6788528c5d61584ed98af | |
parent | 15a1988e224956704b7e19c914472e968b755b1f (diff) | |
download | kup-de8a626b40a30ed90541d091e95c1dc8da65fa8a.tar.gz |
kup-server: use IO::Handle to explicitly set autoflushingkup-0.3
Use IO::Handle to explicitly set autoflushing for specific
file handles as needed (STDERR for displaying a progress bar,
STDOUT after dir.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rwxr-xr-x | kup-server | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -59,6 +59,7 @@ use File::Temp qw(tempdir); use BSD::Resource; use Fcntl qw(:DEFAULT :flock :mode); use POSIX; +use IO::Handle; use Sys::Syslog qw(:standard :macros); use Git; @@ -387,6 +388,9 @@ sub get_blob($$@) $left -= $blk; + # STDERR needs to be flushed + STDERR->autoflush(1); + my $now = time(); my $perc = int((($len-$left)*100)/$len); if ($left == 0 ? @@ -1106,9 +1110,9 @@ sub do_dir(@) closedir($dh); # Termination marker to make output machine-readable - $| = 1; # At least try to flush stdout after this line + STDOUT->autoflush(1); # At least try to flush stdout after this line print "\n"; - $| = 0; + STDOUT->autoflush(0); } sub get_command() |