about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2024-02-09 17:37:05 +0000
committerEric Wong <e@80x24.org>2024-02-10 04:17:20 +0000
commita8f21b249726c0aad3c659fd473975b9dcbeb851 (patch)
tree21145c37b41d5b7aa4d2bc3ee1d41d61c7463701
parent3fba3914acf8bb0529a64f010fdedc9db04864ea (diff)
downloadpublic-inbox-a8f21b249726c0aad3c659fd473975b9dcbeb851.tar.gz
SIGPIPE (13) can be quite common with unreliable connections
and impatient clients, so just ignore them.
-rw-r--r--lib/PublicInbox/GitHTTPBackend.pm1
-rw-r--r--lib/PublicInbox/RepoSnapshot.pm3
2 files changed, 3 insertions, 1 deletions
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);
         }
 }