From d9fb47fe33c5796296549b96df3400299c551f49 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 17 Jan 2023 07:19:08 +0000 Subject: watch: IMAP and NNTP polling can use the same interval An obvious error :x --- lib/PublicInbox/Watch.pm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/PublicInbox/Watch.pm b/lib/PublicInbox/Watch.pm index 66b0c8b1..90d82d21 100644 --- a/lib/PublicInbox/Watch.pm +++ b/lib/PublicInbox/Watch.pm @@ -464,17 +464,18 @@ sub poll_fetch_fork { # DS::add_timer callback my ($self, $intvl, $uris) = @_; return if $self->{quit}; watch_atfork_parent($self); + my @nntp; + my @imap = grep { # push() always returns > 0 + $_->scheme =~ m!\Aimaps?!i ? 1 : (push(@nntp, $_) < 0) + } @$uris; my $seed = rand(0xffffffff); my $pid = fork // die "fork: $!"; if ($pid == 0) { srand($seed); eval { Net::SSLeay::randomize() }; watch_atfork_child($self); - if ($uris->[0]->scheme =~ m!\Aimaps?!i) { - watch_imap_fetch_all($self, $uris); - } else { - watch_nntp_fetch_all($self, $uris); - } + watch_imap_fetch_all($self, \@imap) if @imap; + watch_nntp_fetch_all($self, \@nntp) if @nntp; _exit(0); } $self->{pids}->{$pid} = undef; -- cgit v1.2.3-24-ge0c7