lib/PublicInbox/Daemon.pm | 9 +++++++-- diff --git a/lib/PublicInbox/Daemon.pm b/lib/PublicInbox/Daemon.pm index 87a359e768d24b11698b0c239217d4324242dc38..3264bb6c73de4d2945b4812dfcc8e57ac2f7f525 100644 --- a/lib/PublicInbox/Daemon.pm +++ b/lib/PublicInbox/Daemon.pm @@ -129,6 +129,7 @@ if (my $p = $opt->{psgi}) { die "multiple psgi= options specified\n" if @$p > 1; check_absolute('psgi=', $p->[0]) if $daemonize; $tlsd->{psgi} = $p->[0]; + warn "# $scheme://$addr psgi=$p->[0]\n"; } } for my $f (@paths) { @@ -138,6 +139,7 @@ check_absolute("$f=", $p->[0]) if $daemonize; $p = File::Spec->canonpath($p->[0]); open_log_path(my $fh, $p); $tlsd->{$f} = $logs{$p} = $fh; + warn "# $scheme://$addr $f=$p\n"; } \%xn; } @@ -247,8 +249,10 @@ my $s = eval { $sock_pkg->new(%o) }; warn "error binding $l: $! ($@)\n" unless $s; umask $prev; if ($s) { - $listener_names->{sockname($s)} = $s; $s->blocking(0); + my $k = sockname($s); + warn "# bound $scheme://$k\n"; + $listener_names->{$k} = $s; push @listeners, $s; } } @@ -434,11 +438,12 @@ open(my $s, '<&=', $fd) or warn "fdopen fd=$fd: $!"; if (my $k = sockname($s)) { my $prev_was_blocking = $s->blocking(0); warn <<"" if $prev_was_blocking; -Inherited socket (fd=$fd) is blocking, making it non-blocking. +Inherited socket ($k fd=$fd) is blocking, making it non-blocking. Set 'NonBlocking = true' in the systemd.service unit to avoid stalled processes when multiple service instances start. $listener_names->{$k} = $s; + warn "# inherited $k fd=$fd\n"; push @rv, $s; } else { warn "failed to inherit fd=$fd (LISTEN_FDS=$fds)";