From cbf96967f1b6dc72ae16203dfbbb844bd08e8b6b Mon Sep 17 00:00:00 2001 From: William Hubbs Date: Fri, 12 May 2017 17:14:56 -0500 Subject: [PATCH] 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