commit:     8a60a36dfca344e002faad387f58b01b09cafa22
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 30 20:29:38 2020 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Thu Apr 30 20:29:38 2020 +0000
URL:        
https://gitweb.gentoo.org/proj/gentoo-mirrorstats.git/commit/?id=8a60a36d

probe-mirmon: make even less stderr

Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

 probe-mirmon | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/probe-mirmon b/probe-mirmon
index 6d67fbf..1e10ef1 100755
--- a/probe-mirmon
+++ b/probe-mirmon
@@ -22,6 +22,7 @@ use warnings;
 use Date::Parse (); # dev-perl/TimeDate
 use File::Tempdir;  # dev-perl/File-Tempdir
 use WWW::Curl::Easy;
+use Capture::Tiny qw/capture/;
 
 sub main {
   my ( $timeout, $url ) = @_;
@@ -84,9 +85,15 @@ sub handle_rsync {
 
   $file =~ s/\W/_/g;    # translate all non-letters to _
 
-  if ( my $fail = system '/usr/bin/rsync', qw( -q --no-motd --timeout ), 
$timeout, $url, "$dir/$file", '2>/dev/null' ) {
+  # https://stackoverflow.com/a/6331618/1583179
+  my $ret;
+  my ($stdout, $stderr) = capture {
+       $ret = system '/usr/bin/rsync', qw( -q --no-motd --timeout ), $timeout, 
$url, "$dir/$file";
+  };
+  if ($ret!=0) {
        #warn "rsync failed, exit code $fail, $! $? $@\n";
-    exit $fail;
+       #exit $ret;
+       exit 800;
   }
 
   open my $fh, '<', "$dir/$file" or do {

Reply via email to