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

Reply via email to