SIGPIPE (13) can be quite common with unreliable connections
and impatient clients, so just ignore them.
---
 lib/PublicInbox/GitHTTPBackend.pm | 1 +
 lib/PublicInbox/RepoSnapshot.pm   | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/PublicInbox/GitHTTPBackend.pm 
b/lib/PublicInbox/GitHTTPBackend.pm
index 7228555b..396aa783 100644
--- a/lib/PublicInbox/GitHTTPBackend.pm
+++ b/lib/PublicInbox/GitHTTPBackend.pm
@@ -105,6 +105,7 @@ sub serve_smart {
        $env{GIT_HTTP_EXPORT_ALL} = '1';
        $env{PATH_TRANSLATED} = "$git->{git_dir}/$path";
        my $rdr = input_prepare($env) or return r(500);
+       $rdr->{quiet} = 1;
        my $qsp = PublicInbox::Qspawn->new([qw(git http-backend)], \%env, $rdr);
        $qsp->psgi_yield($env, $limiter, \&ghb_parse_hdr, $env, $git, $path);
 }
diff --git a/lib/PublicInbox/RepoSnapshot.pm b/lib/PublicInbox/RepoSnapshot.pm
index 6b7441b0..4c372569 100644
--- a/lib/PublicInbox/RepoSnapshot.pm
+++ b/lib/PublicInbox/RepoSnapshot.pm
@@ -57,7 +57,8 @@ sub ver_check { # git->check_async callback
                my $qsp = PublicInbox::Qspawn->new(['git', @cfg,
                                "--git-dir=$ctx->{git}->{git_dir}", 'archive',
                                "--prefix=$ctx->{snap_pfx}/",
-                               "--format=$ctx->{snap_fmt}", $treeish]);
+                               "--format=$ctx->{snap_fmt}", $treeish], undef,
+                               { quiet => 1 });
                $qsp->psgi_yield($ctx->{env}, undef, \&archive_hdr, $ctx);
        }
 }

Reply via email to