diff options
author | Eric Wong <e@80x24.org> | 2019-03-12 01:18:30 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-04-04 09:13:58 +0000 |
commit | 7661a5732ebf4470339c1293b2ea32082af887be (patch) | |
tree | 4bf344691bae2df70ad138f88c86f749b184b17a /lib/PublicInbox/Cgit.pm | |
parent | 89be7a1b89a60446fc0a385c5c1cfaeec2f92c88 (diff) | |
download | public-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.pm | 3 |
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; |