summary refs log tree commit diff
path: root/rvnit.c
diff options
context:
space:
mode:
authorLeah Neukirchen <leah@vuxu.org>2022-02-12 22:55:33 +0100
committerLeah Neukirchen <leah@vuxu.org>2022-02-12 22:55:33 +0100
commit2dc44849fd8ca9447adc34bd5b86c4c88b267527 (patch)
tree7e4b77306d4774a86df1319a7b95d497ceca9a6c /rvnit.c
parent95d3c6b054ef733531487e63bde4b9e388d427b5 (diff)
downloadrvnit-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.
Diffstat (limited to 'rvnit.c')
-rw-r--r--rvnit.c2
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);