diff options
author | Leah Neukirchen <leah@vuxu.org> | 2022-02-12 22:55:33 +0100 |
---|---|---|
committer | Leah Neukirchen <leah@vuxu.org> | 2022-02-12 22:55:33 +0100 |
commit | 2dc44849fd8ca9447adc34bd5b86c4c88b267527 (patch) | |
tree | 7e4b77306d4774a86df1319a7b95d497ceca9a6c | |
parent | 95d3c6b054ef733531487e63bde4b9e388d427b5 (diff) | |
download | rvnit-2dc44849fd8ca9447adc34bd5b86c4c88b267527.tar.gz rvnit-2dc44849fd8ca9447adc34bd5b86c4c88b267527.tar.xz rvnit-2dc44849fd8ca9447adc34bd5b86c4c88b267527.zip |
return pid=-1 in status when exec didn't run yet
The restart delay is run in the child, but before setsid, so the PGID equals our PID until after that. This can be used to detect flapping services.
-rw-r--r-- | rvnit.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/rvnit.c b/rvnit.c index b477c38..f7b0a33 100644 --- a/rvnit.c +++ b/rvnit.c @@ -333,7 +333,7 @@ socket_loop(void* ignored) services[i].name[2] == 'L') dprintf(connfd, "%-25s pid=%d state=%s uptime=%ld status=%d\n", services[i].name, - services[i].pid, + getpgid(services[i].pid) == getpid() ? -1 : services[i].pid, services[i].state == UP ? "UP" : "DOWN", services[i].pid > 0 ? (long)(now - services[i].start) : 0, services[i].status); |