]> Sergey Matveev's repositories - public-inbox.git/commitdiff
daemon: support --daemonize without Net::Server::Daemonize
authorEric Wong <e@80x24.org>
Tue, 15 Dec 2020 11:47:16 +0000 (11:47 +0000)
committerEric Wong <e@80x24.org>
Sat, 26 Dec 2020 19:47:19 +0000 (19:47 +0000)
We don't actually need Net::Server::Daemonize to support
the --daemonize flag, since the daemonize() sub provided
by N::S::D doesn't exactly do the things we want.

(cherry picked from commit ab11caeb8ae114087636748df4c956d0e625b237)

lib/PublicInbox/Daemon.pm

index b929ec2aa17e1cb83549a41d27035fd578cb8515..5fdcba14d09afe6a3f7a562c6f645f91c208a712 100644 (file)
@@ -212,16 +212,12 @@ sub daemonize () {
 
                chdir '/' or die "chdir failed: $!";
        }
-
-       return unless (defined $pid_file || defined $group || defined $user
-                       || $daemonize);
-
-       eval { require Net::Server::Daemonize };
-       if ($@) {
-               die
-"Net::Server required for --pid-file, --group, --user, and --daemonize\n$@\n";
+       if (defined($pid_file) || defined($group) || defined($user)) {
+               eval { require Net::Server::Daemonize; 1 } // die <<EOF;
+Net::Server required for --pid-file, --group, --user
+$@
+EOF
        }
-
        Net::Server::Daemonize::check_pid_file($pid_file) if defined $pid_file;
        $uid = Net::Server::Daemonize::get_uid($user) if defined $user;
        if (defined $group) {