From 8fe40fe619d73e271973e7a54201b1b4f6956cad Mon Sep 17 00:00:00 2001 From: Darold Gilles Date: Thu, 21 Feb 2013 23:41:20 +0100 Subject: [PATCH] Fix display of last print of progress bar when quiet mode is enabled. --- pgbadger | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pgbadger b/pgbadger index 4b517ba..b50cfa9 100755 --- a/pgbadger +++ b/pgbadger @@ -631,9 +631,11 @@ if ( ($queue_size > 1) || ($job_per_file > 1) ) { $writer->autoflush(1); # Fork the logger process - spawn sub { - &multiprocess_progressbar($global_totalsize); - }; + if ($progress) { + spawn sub { + &multiprocess_progressbar($global_totalsize); + }; + } # Parse each log file following the multiprocess mode chosen (-j or -J) foreach my $logfile ( @given_log_files ) { @@ -675,8 +677,10 @@ if ( ($queue_size > 1) || ($job_per_file > 1) ) { last if ($interrupt); } + my $minproc = 1; + $minproc = 0 if (!$progress); # Wait for all child dies less the logger - while (scalar keys %RUNNING_PIDS > 1) { + while (scalar keys %RUNNING_PIDS > $minproc) { my $kid = waitpid(-1, WNOHANG); if ($kid > 0) { delete $RUNNING_PIDS{$kid}; -- 2.50.1