Add support for service restart counter.

This commit adds a statistics counter to the finit svc_t process struct
which is incremented every time a process is restarted by the service
monitor.

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
Joachim Nilsson committed 2013-05-19 18:00:31 +02:00
1 parent f277166354
commit 89675403d8
2 files changed
+6 -1

No files matched your search

+5 -1
View File
@@ -262,8 +262,10 @@ void svc_monitor(void)
procname_kill(name, SIGTERM);
/* Restarting lost service. */
if (svc_enabled(svc, 0, NULL))
if (svc_enabled(svc, 0, NULL)) {
svc->stat_restart_counter++;
svc_start(svc);
}
break;
}
@@ -383,6 +385,7 @@ int svc_stop(svc_t *svc)
if (svc->pid <= 1) {
_d("Bad PID %d for %s, SIGTERM", svc->pid, svc->desc);
svc->pid = 0;
svc->stat_restart_counter = 0;
return 1;
}
@@ -391,6 +394,7 @@ int svc_stop(svc_t *svc)
res = kill(svc->pid, SIGTERM);
print_result(res);
svc->pid = 0;
svc->stat_restart_counter = 0;
return res;
}
+1
View File
@@ -50,6 +50,7 @@ typedef enum {
typedef struct svc {
pid_t pid;
int reload;
unsigned int stat_restart_counter; /* Incremented for each restart by service monitor. */
char cmd[MAX_ARG_LEN];
char args[MAX_NUM_SVC_ARGS][MAX_ARG_LEN];
char desc[MAX_STR_LEN];