about summary refs log tree commit homepage
path: root/lib/PublicInbox/Daemon.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2022-08-01 21:24:47 +0000
committerEric Wong <e@80x24.org>2022-08-02 19:20:14 +0000
commit86c6704a325c6701a1e47e04859b2c24e1e0fa65 (patch)
treecae232c39967ed8eba6316bf1c3cb7b0325fb036 /lib/PublicInbox/Daemon.pm
parent9b57ba91869f815459ff3ee4d9d7eed8d800d86a (diff)
downloadpublic-inbox-86c6704a325c6701a1e47e04859b2c24e1e0fa65.tar.gz
We rely on the %logs hash for SIGUSR1 log reopening.  Without this sharing,
some FDs would be hidden inside its respective {HTTP,IMAP,POP3}D
object and not reopened on USR2
Diffstat (limited to 'lib/PublicInbox/Daemon.pm')
-rw-r--r--lib/PublicInbox/Daemon.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/PublicInbox/Daemon.pm b/lib/PublicInbox/Daemon.pm
index ead5afc0..20b07b83 100644
--- a/lib/PublicInbox/Daemon.pm
+++ b/lib/PublicInbox/Daemon.pm
@@ -104,6 +104,7 @@ sub open_log_path ($$) { # my ($fh, $path) = @_; # $_[0] is modified
         open $_[0], '>>', $_[1] or die "open(>> $_[1]): $!";
         $_[0]->autoflush(1);
         do_chown($_[1]);
+        $_[0];
 }
 
 sub load_mod ($;$$) {
@@ -141,8 +142,7 @@ sub load_mod ($;$$) {
                 die "multiple $f= options specified\n" if @$p > 1;
                 check_absolute("$f=", $p->[0]) if $daemonize;
                 $p = File::Spec->canonpath($p->[0]);
-                open_log_path(my $fh, $p);
-                $tlsd->{$f} = $logs{$p} = $fh;
+                $tlsd->{$f} = $logs{$p} //= open_log_path(my $fh, $p);
                 warn "# $scheme://$addr $f=$p\n";
         }
         \%xn;