shutdown_handler: really shutdown when we are last

If we are a master and we don't have peers, there is no use keeping the
sessions alive, when we'll restart we will have forgotten them all.
Better gracefully close them, so they can be quickly respawn on restart,
instead of having to wait for timeouts.
This commit is contained in:
Samuel Thibault 2024-01-21 00:36:39 +01:00
parent 2229ac6a8a
commit 9daccab8ba
3 changed files with 10 additions and 1 deletions

View file

@ -5337,7 +5337,7 @@ static void sighup_handler(int sig)
static void shutdown_handler(int sig)
{
main_quit = (sig == SIGQUIT) ? QUIT_SHUTDOWN : QUIT_FAILOVER;
main_quit = (sig == SIGQUIT || (config->cluster_iam_master && !cluster_have_peers())) ? QUIT_SHUTDOWN : QUIT_FAILOVER;
}
static void sigchild_handler(int sig)