This means we always load the PSGI server code early for
-httpd. This may make things less compatible with existing
PSGI/Plack apps, but we prioritize our httpd for the uses
of public-inbox itself, first.
And any existing PSGI/Plack app which wants to may adapt
themselves to being preload-friendly.
my ($refresh, $post_accept) = @_;
my $parent_pipe;
if ($worker_processes > 0) {
+ $refresh->(); # preload by default
$parent_pipe = master_loop(); # returns if in child process
my $fd = fileno($parent_pipe);
Danga::Socket->AddOtherFds($fd => sub { kill('TERM', $$) } );
reopen_logs();
$set_user->() if $set_user;
$SIG{USR2} = sub { worker_quit() if upgrade() };
+ $refresh->();
}
$uid = $gid = undef;
reopen_logs();
- $refresh->();
$SIG{QUIT} = $SIG{INT} = $SIG{TERM} = *worker_quit;
$SIG{USR1} = *reopen_logs;
$SIG{HUP} = $refresh;