From 704523b073fa24c31f56847eaf40dfadc42548b4 Mon Sep 17 00:00:00 2001 From: Guy Helmer Date: Wed, 25 Jan 2012 14:50:12 +0000 Subject: [PATCH] Revert 229667: After some discussion of this change, it seems it is better to leave the pidfile open where it was. Add a note to the man page describing pidfile strategies to use if the daemon is to be run as a user other than root. --- usr.sbin/daemon/daemon.8 | 4 ++++ usr.sbin/daemon/daemon.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/usr.sbin/daemon/daemon.8 b/usr.sbin/daemon/daemon.8 index bdebd83ae508..7dde24b46c7a 100644 --- a/usr.sbin/daemon/daemon.8 +++ b/usr.sbin/daemon/daemon.8 @@ -59,6 +59,10 @@ Write the ID of the created process into the using the .Xr pidfile 3 functionality. +If the +.Fl u +option is used, the directory to contain the pidfile must be writable +by the specified user. Note, that the file will be created shortly before the process is actually executed, and will remain after the process exits (although it will be removed if the execution fails). diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 8b25800707df..540ebf35df7e 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -79,6 +79,9 @@ main(int argc, char *argv[]) if (argc == 0) usage(); + if (user != NULL) + restrict_process(user); + /* * Try to open the pidfile before calling daemon(3), * to be able to report the error intelligently @@ -94,9 +97,6 @@ main(int argc, char *argv[]) } } - if (user != NULL) - restrict_process(user); - if (daemon(nochdir, noclose) == -1) err(1, NULL);