lib/PublicInbox/DS.pm | 4 ++-- diff --git a/lib/PublicInbox/DS.pm b/lib/PublicInbox/DS.pm index 8f77ce24b20ed5171f30720d88c83469fe2b28d7..d38e2d20123d4aae61cd560555e14cba2dddb9f4 100644 --- a/lib/PublicInbox/DS.pm +++ b/lib/PublicInbox/DS.pm @@ -442,13 +442,13 @@ # returns 1 if done, 0 if incomplete sub flush_write ($) { my ($self) = @_; my $wbuf = $self->{wbuf} or return 1; - my $sock = $self->{sock} or return 1; + my $sock = $self->{sock}; next_buf: while (my $bref = $wbuf->[0]) { if (ref($bref) ne 'CODE') { my $off = delete($self->{wbuf_off}) // 0; - while (1) { + while ($sock) { my $w = psendfile($sock, $bref, \$off); if (defined $w) { if ($w == 0) {