]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/GzipFilter.pm
www: gzip_filter: gracefully handle socket ->write failures
[public-inbox.git] / lib / PublicInbox / GzipFilter.pm
index e37f1f76bd4a886431224ed38aa8a3f838cc50b1..c586d2f885dfe3bcdf3aff08f4ab87f7ac5275b7 100644 (file)
@@ -149,10 +149,11 @@ sub zflush ($;$) {
        my $zbuf = delete $self->{zbuf};
        my $gz = delete $self->{gz};
        my $err;
-       if (defined $_[1]) {
+       if (defined $_[1]) { # it's a bug iff $gz is undef w/ $_[1]
                $err = $gz->deflate($_[1], $zbuf);
                die "gzip->deflate: $err" if $err != Z_OK;
        }
+       $gz // return; # not a bug, recursing on DS->write failure
        $err = $gz->flush($zbuf);
        die "gzip->flush: $err" if $err != Z_OK;
        $zbuf;