diff options
author | Eric Wong <e@80x24.org> | 2021-02-28 18:25:28 +0600 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-03-01 05:52:05 +0000 |
commit | ac6c31a84fc9ef363bca6838c40a2bf30f49e43e (patch) | |
tree | f9b0c8eeb497f9a3261e9cf19b1de8afe4105f1d /lib/PublicInbox/LEI.pm | |
parent | 089c81f12fb8f7225103d661f2ec9073b0fea8f9 (diff) | |
download | public-inbox-ac6c31a84fc9ef363bca6838c40a2bf30f49e43e.tar.gz |
We must issue LeiStore->done if a client disconnects while we're streaming from a remote external. This can happen via SIGPIPE, or if a client process is interrupted by any other means.
Diffstat (limited to 'lib/PublicInbox/LEI.pm')
-rw-r--r-- | lib/PublicInbox/LEI.pm | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm index f5e42869..834e399f 100644 --- a/lib/PublicInbox/LEI.pm +++ b/lib/PublicInbox/LEI.pm @@ -970,6 +970,9 @@ sub dclose { } } close(delete $self->{1}) if $self->{1}; # may reap_compress + if (my $sto = delete $self->{sto}) { + $sto->ipc_do('done'); + } $self->close if $self->{sock}; # PublicInbox::DS::close } |