about summary refs log tree commit homepage
path: root/lib/PublicInbox/Cgit.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-03-12 01:18:30 +0000
committerEric Wong <e@80x24.org>2019-04-04 09:13:58 +0000
commit7661a5732ebf4470339c1293b2ea32082af887be (patch)
tree4bf344691bae2df70ad138f88c86f749b184b17a /lib/PublicInbox/Cgit.pm
parent89be7a1b89a60446fc0a385c5c1cfaeec2f92c88 (diff)
downloadpublic-inbox-7661a5732ebf4470339c1293b2ea32082af887be.tar.gz
I mainly need this to enforce RLIMIT_CPU (and RLIMIT_CORE)
when requests come which generate giant, unrealistic diffs.

Per-coderepo limiters may be added in the future.  But for now,
I need to prevent cgit from monopolizing resources on my dinky
server.
Diffstat (limited to 'lib/PublicInbox/Cgit.pm')
-rw-r--r--lib/PublicInbox/Cgit.pm3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/PublicInbox/Cgit.pm b/lib/PublicInbox/Cgit.pm
index 3d1a0d54..9ba9e14d 100644
--- a/lib/PublicInbox/Cgit.pm
+++ b/lib/PublicInbox/Cgit.pm
@@ -77,7 +77,8 @@ sub call {
 
         my $rdr = input_prepare($env) or return r(500);
         my $qsp = PublicInbox::Qspawn->new($self->{cmd}, $cgi_env, $rdr);
-        $qsp->psgi_return($env, undef, sub {
+        my $limiter = $self->{pi_config}->limiter('-cgit');
+        $qsp->psgi_return($env, $limiter, sub {
                 my ($r, $bref) = @_;
                 my $res = parse_cgi_headers($r, $bref) or return; # incomplete
                 $res;