]> git.ipfire.org Git - thirdparty/public-inbox.git/commitdiff
daemon: quiet Email::Address::XS warnings properly
authorEric Wong <e@80x24.org>
Wed, 7 Feb 2024 22:49:19 +0000 (22:49 +0000)
committerEric Wong <e@80x24.org>
Thu, 8 Feb 2024 02:31:05 +0000 (02:31 +0000)
Setting $SIG{__WARN__} at the top-level no longer has any effect
since we localize $SIG{__WARN__} when entering ->event_step on
a per-listener basis.

Fixes: 60d262483a4d (daemon: use per-listener SIG{__WARN__} callbacks, 2022-08-08)
lib/PublicInbox/Daemon.pm

index a2c1ed6ea179a40d5a8a669dc4d7669c14c88649..e578f2e8e9a57c6206b15db4fb5e961d5121e563 100644 (file)
@@ -143,8 +143,11 @@ sub load_mod ($;$$) {
                $tlsd->{$f} = $logs{$p} //= open_log_path(my $fh, $p);
                warn "# $scheme://$addr $f=$p\n";
        }
+       # for per-listener $SIG{__WARN__}:
        my $err = $tlsd->{err};
-       $tlsd->{warn_cb} = sub { print $err @_ }; # for local $SIG{__WARN__}
+       $tlsd->{warn_cb} = sub {
+               print $err @_ unless PublicInbox::Eml::warn_ignore(@_)
+       };
        $opt->{'multi-accept'} and
                $xn{'multi-accept'} = $opt->{'multi-accept'}->[-1];
        \%xn;