From 21d3fe9db86dc235b914cedbb21b513b96b95184 Mon Sep 17 00:00:00 2001
From: Eric Wong <e@80x24.org>
Date: Tue, 2 Aug 2016 01:47:54 +0000
Subject: [PATCH] daemon: do not chdir unless daemonizing

As far as most process managers are concerned (e.g. systemd),
they should already start in '/'.  So avoid making our daemon
more complex to run by requiring absolute paths during
development.
---
 lib/PublicInbox/Daemon.pm | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/lib/PublicInbox/Daemon.pm b/lib/PublicInbox/Daemon.pm
index 9125584b..795ab822 100644
--- a/lib/PublicInbox/Daemon.pm
+++ b/lib/PublicInbox/Daemon.pm
@@ -102,16 +102,18 @@ sub check_absolute ($$) {
 }
 
 sub daemonize () {
-	foreach my $i (0..$#ARGV) {
-		my $arg = $ARGV[$i];
-		next unless -e $arg;
-		$ARGV[$i] = abs_path($arg);
-	}
-	check_absolute('stdout', $stdout);
-	check_absolute('stderr', $stderr);
-	check_absolute('pid-file', $pid_file);
+	if ($daemonize) {
+		foreach my $i (0..$#ARGV) {
+			my $arg = $ARGV[$i];
+			next unless -e $arg;
+			$ARGV[$i] = abs_path($arg);
+		}
+		check_absolute('stdout', $stdout);
+		check_absolute('stderr', $stderr);
+		check_absolute('pid-file', $pid_file);
 
-	chdir '/' or die "chdir failed: $!";
+		chdir '/' or die "chdir failed: $!";
+	}
 
 	return unless (defined $pid_file || defined $group || defined $user
 			|| $daemonize);
-- 
2.50.0