about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2024-02-07 22:49:19 +0000
committerEric Wong <e@80x24.org>2024-02-08 02:31:05 +0000
commit62f4880da7abf6ed6b8ae9b631ee9850e38f9e30 (patch)
tree85414869d159598053a4f9be1a87d8eab1420270
parent885db166cdec5dd0befd46f94f36edb9e786169a (diff)
downloadpublic-inbox-62f4880da7abf6ed6b8ae9b631ee9850e38f9e30.tar.gz
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)
-rw-r--r--lib/PublicInbox/Daemon.pm5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/PublicInbox/Daemon.pm b/lib/PublicInbox/Daemon.pm
index a2c1ed6e..e578f2e8 100644
--- a/lib/PublicInbox/Daemon.pm
+++ b/lib/PublicInbox/Daemon.pm
@@ -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;