X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=blobdiff_plain;f=lib%2FPublicInbox%2FNNTP.pm;h=ab6eb525106d9046ca5f1f898787582210dba7b5;hp=533a0c59f9398d67aef89739a806f47bdd1c46d8;hb=0c62cffc23894a2f5eb1d6c9ee29973f4863a365;hpb=b5371f1053676a4a551140739582070df773dc9c diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index 533a0c59..ab6eb525 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -189,7 +189,7 @@ sub listgroup_range_i { my ($self, $beg, $end) = @_; my $r = $self->{ibx}->mm(1)->msg_range($beg, $end, 'num'); scalar(@$r) or return; - $self->msg_more(join('', map { "$_->[0]\r\n" } @$r)); + $self->msg_more(join("\r\n", @$r, '')); 1; } @@ -635,17 +635,8 @@ sub long_step { out($self, " deferred[$fd] aborted - %0.6f", $elapsed); $self->close; } elsif ($more) { # $self->{wbuf}: - # COMPRESS users all share the same DEFLATE context. - # Flush it here to ensure clients don't see - # each other's data - $self->zflush; - - # no recursion, schedule another call ASAP, but only after - # all pending writes are done. autovivify wbuf: - my $new_size = push(@{$self->{wbuf}}, \&long_step); - - # wbuf may be populated by $cb, no need to rearm if so: - $self->requeue if $new_size == 1; + # control passed to ibx_async_cat if $more == \undef + $self->requeue_once if !ref($more); } else { # all done! delete $self->{long_cb}; $self->write(\".\r\n"); @@ -968,8 +959,6 @@ sub cmd_compress ($$) { undef } -sub zflush {} # overridden by NNTPdeflate - sub cmd_xpath ($$) { my ($self, $mid) = @_; return r501 unless $mid =~ $ONE_MSGID;