diff --git a/src/peers.c b/src/peers.c index 41cf7d829..f9d8077ff 100644 --- a/src/peers.c +++ b/src/peers.c @@ -102,6 +102,7 @@ #define PEER_RESYNC_TIMEOUT 5000 /* 5 seconds */ #define PEER_RECONNECT_TIMEOUT 5000 /* 5 seconds */ +#define PEER_LOCAL_RECONNECT_TIMEOUT 500 /* 500ms */ #define PEER_HEARTBEAT_TIMEOUT 3000 /* 3 seconds */ /* flags for "show peers" */ @@ -3200,7 +3201,7 @@ static struct appctx *peer_session_create(struct peers *peers, struct peer *peer int idx; peer->new_conn++; - peer->reconnect = tick_add(now_ms, MS_TO_TICKS(PEER_RECONNECT_TIMEOUT)); + peer->reconnect = tick_add(now_ms, (stopping ? MS_TO_TICKS(PEER_LOCAL_RECONNECT_TIMEOUT) : MS_TO_TICKS(PEER_RECONNECT_TIMEOUT))); peer->heartbeat = TICK_ETERNITY; peer->statuscode = PEER_SESS_SC_CONNECTCODE; peer->last_hdshk = now_ms;