From: Holger Weiss Date: Sat, 24 Oct 2009 20:55:44 +0000 (+0200) Subject: git-notify: Check the exit status of pipes X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=61f2cebae3baabb2ae895f212ce089ff15cc37d2;p=nagiosplug.git git-notify: Check the exit status of pipes Properly check the exit status of all processes we execute and abort on error. --- diff --git a/tools/git-notify b/tools/git-notify index b10b1bc..4a0faa5 100755 --- a/tools/git-notify +++ b/tools/git-notify @@ -309,7 +309,7 @@ sub mail_notification($$$@) } binmode MAIL, ":utf8"; print MAIL join("\n", @text), "\n"; - close MAIL; + close MAIL or die $! ? "Cannot execute $mailer: $!" : "$mailer exited with status: $?"; } } @@ -350,7 +350,7 @@ sub get_object_info($) $info{$1 . "_tz"} = $6; } } - close OBJ; + close OBJ or die $! ? "Cannot execute cat-file: $!" : "cat-file exited with status: $?"; $info{"log"} = \@log; return %info; @@ -388,7 +388,7 @@ sub send_commit_notice($$) open DIFF, "-|" or exec "git", "diff-tree", "-p", "-M", "--no-commit-id", $obj or die "cannot exec git-diff-tree"; my $diff = join("", ); - close DIFF; + close DIFF or die $! ? "Cannot execute diff-tree: $!" : "diff-tree exited with status: $?"; return if length($diff) == 0; @@ -419,7 +419,7 @@ sub send_commit_notice($$) open STAT, "-|" or exec "git", "diff-tree", "--stat", "-M", "--no-commit-id", $obj or die "cannot exec git-diff-tree"; push @notice, join("", ); - close STAT; + close STAT or die $! ? "Cannot execute diff-tree: $!" : "diff-tree exited with status: $?"; if (($max_diff_size == -1) || (length($diff) < $max_diff_size)) { @@ -479,7 +479,7 @@ sub send_cia_notice($$) push @cia_text, " " . xml_escape($old) . ""; } } - close COMMIT; + close COMMIT or die $! ? "Cannot execute diff-tree: $!" : "diff-tree exited with status: $?"; push @cia_text, " ",