commit: cbf96967f1b6dc72ae16203dfbbb844bd08e8b6b
Author: William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Fri May 12 22:14:56 2017 +0000
Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Fri May 12 22:15:55 2017 +0000
URL: https://gitweb.gentoo.org/proj/openrc.git/commit/?id=cbf96967
supervise-daemon: save start time and respawn count before dropping privs
src/rc/supervise-daemon.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c
index f3335fa2..dc6d6c12 100644
--- a/src/rc/supervise-daemon.c
+++ b/src/rc/supervise-daemon.c
@@ -196,6 +196,14 @@ static void child_process(char *exec, char **argv, char
*svcname,
setsid();
+ if (svcname) {
+start_time = time(NULL);
+from_time_t(start_time_string, start_time);
+ rc_service_value_set(svcname, "start_time", start_time_string);
+sprintf(start_count_string, "%i", start_count);
+ rc_service_value_set(svcname, "start_count",
start_count_string);
+ }
+
if (nicelevel) {
if (setpriority(PRIO_PROCESS, getpid(), nicelevel) == -1)
eerrorx("%s: setpriority %d: %s", applet, nicelevel,
@@ -342,13 +350,6 @@ static void child_process(char *exec, char **argv, char
*svcname,
c++;
}
syslog(LOG_INFO, "Running command line: %s", cmdline);
- if (svcname) {
-start_time = time(NULL);
-from_time_t(start_time_string, start_time);
- rc_service_value_set(svcname, "start_time", start_time_string);
-sprintf(start_count_string, "%i", start_count);
- rc_service_value_set(svcname, "start_count",
start_count_string);
- }
execvp(exec, argv);
#ifdef HAVE_PAM