diff options
Diffstat (limited to 'lib/PublicInbox/NNTPD.pm')
-rw-r--r-- | lib/PublicInbox/NNTPD.pm | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/PublicInbox/NNTPD.pm b/lib/PublicInbox/NNTPD.pm index 967850e9..03c56db3 100644 --- a/lib/PublicInbox/NNTPD.pm +++ b/lib/PublicInbox/NNTPD.pm @@ -38,13 +38,18 @@ sub refresh_groups { my $groups = $pi_config->{-by_newsgroup}; # filled during each_inbox $pi_config->each_inbox(sub { my ($ibx) = @_; - my $ngname = $ibx->{newsgroup} // return; - if ($ibx->nntp_usable) { # only valid if msgmap and over works + my $ngname = $ibx->{newsgroup}; + if (defined($ngname) && $ibx->nntp_usable) { + # only valid if msgmap and over works # preload to avoid fragmentation: $ibx->description; $ibx->base_url; } else { delete $groups->{$ngname}; + delete $ibx->{newsgroup}; + # Note: don't be tempted to delete more for memory + # savings just yet: NNTP, IMAP, and WWW may all + # run in the same process someday. } }); $self->{groupnames} = [ sort(keys %$groups) ]; |