diff options
author | William Hubbs <w.d.hubbs@gmail.com> | 2017-05-12 17:14:56 -0500 |
---|---|---|
committer | William Hubbs <w.d.hubbs@gmail.com> | 2017-05-12 17:15:55 -0500 |
commit | cbf96967f1b6dc72ae16203dfbbb844bd08e8b6b (patch) | |
tree | b312e8b3b7714a9eced78745782a55e25ea63be1 /src/rc/supervise-daemon.c | |
parent | f1013037b47cdd6344f1b3ed92b7f84d7fcca01f (diff) |
supervise-daemon: save start time and respawn count before dropping privs
Diffstat (limited to 'src/rc/supervise-daemon.c')
-rw-r--r-- | src/rc/supervise-daemon.c | 15 |
1 files 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 |