about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/PublicInbox/Qspawn.pm4
-rwxr-xr-xscript/public-inbox-httpd8
2 files changed, 5 insertions, 7 deletions
diff --git a/lib/PublicInbox/Qspawn.pm b/lib/PublicInbox/Qspawn.pm
index 5a300644..cb3dc516 100644
--- a/lib/PublicInbox/Qspawn.pm
+++ b/lib/PublicInbox/Qspawn.pm
@@ -281,6 +281,10 @@ sub psgi_return {
                                                                 $buf, $filter);
                         $wcb->($r);
                 }
+
+                # Workaround a leak under Perl 5.16.3 when combined with
+                # Plack::Middleware::Deflater:
+                $wcb = undef;
         };
         $limiter ||= $def_limiter ||= PublicInbox::Qspawn::Limiter->new(32);
         my $start_cb = sub { # may run later, much later...
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