summary refs log tree commit diff
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
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.
-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);