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