]> 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>
Wed, 16 Dec 2020 04:40:02 +0000 (04:40 +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.

lib/PublicInbox/Daemon.pm

index 155707e1df49c4d0c17dd61551f19acc0538e2c5..fdedaee73df29e7d3ca78a0a86423abd2db2755f 100644 (file)
@@ -213,16 +213,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) {