diff options
author | Eric Wong <e@80x24.org> | 2019-09-27 21:01:01 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-09-27 21:04:48 +0000 |
commit | 2fc42236f72ad16a33288f58086edc95da56c612 (patch) | |
tree | ba55eb23f905c5416c0f10942aaea0af68f8a96a /script/public-inbox-httpd | |
parent | 2052e92ba1f75efca6935558ea01898d01751f40 (diff) | |
download | public-inbox-2fc42236f72ad16a33288f58086edc95da56c612.tar.gz |
The httpd-supplied write callback is the leak culprit under Perl 5.16.3. undef-ing it immediately after use keeps a repeated "git fetch" loop from monotonically increasing memory and FD use on the Perl shipped with RHEL/CentOS 7.x. Other endpoints tested showed no increase in memory use under constant load with "ab -HAccept-Encoding:gzip -k", including the async psgi_qx code path used by $INBOX_URL/$OBJECT_ID/s/ via SolverGit module.
Diffstat (limited to 'script/public-inbox-httpd')
-rwxr-xr-x | script/public-inbox-httpd | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/script/public-inbox-httpd b/script/public-inbox-httpd index 9b869f90..b2464f4e 100755 --- a/script/public-inbox-httpd +++ b/script/public-inbox-httpd @@ -24,13 +24,7 @@ my $refresh = sub { my $www = PublicInbox::WWW->new; $www->preload; $app = builder { - # Perl 5.16.3 leaks in our "push" response code path - # (e.g. Qspawn) due to something in - # Plack::Util::response_cb, regardless of whether the - # client is sending Accept-Encoding:gzip requests. - # perl5180delta documents many leak fixes, so assume - # 5.18+ is safe for now and bump the check as-need: - $] >= 5.018000 and eval { + eval { enable 'Deflater', content_type => [ qw( text/html |