X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=blobdiff_plain;f=lib%2FPublicInbox%2FNNTPD.pm;fp=lib%2FPublicInbox%2FNNTPD.pm;h=03c56db30727ec2dbee9e205592bd459f78ef892;hp=967850e9d6ec7e713532fe917e3974f4f36a96c4;hb=0a80d0c2e723213e3981d2d6ef0de7cee60ee50c;hpb=9356ec0cc5afc95a8fd398ddf898942ef0acdb74 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) ];