From e38ddbe7d2c0c01b287be530ccccf9062bd4f7b0 Mon Sep 17 00:00:00 2001 From: Marko Kreen Date: Wed, 24 Feb 2016 20:12:28 +0200 Subject: [PATCH] takeover: wait for pidfile to go away --- src/takeover.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/takeover.c b/src/takeover.c index 3209d54..f528681 100644 --- a/src/takeover.c +++ b/src/takeover.c @@ -58,6 +58,18 @@ void takeover_finish(void) disconnect_server(old_bouncer, false, "disko over"); old_bouncer = NULL; + if (cf_pidfile && cf_pidfile[0]) { + log_info("waiting for old pidfile to go away"); + while (1) { + struct stat st; + if (stat(cf_pidfile, &st) < 0) { + if (errno == ENOENT) + break; + } + usleep(USEC/10); + } + } + log_info("old process killed, resuming work"); resume_all(); } -- 2.40.0