From c08685a1a3e4a719fcfe8f30a338a91db8c3b8d1 Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Mon, 19 Mar 2018 16:06:46 +0100 Subject: also reconnect lookup_servers --- src/core/servers-reconnect.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/core/servers-reconnect.c') diff --git a/src/core/servers-reconnect.c b/src/core/servers-reconnect.c index 1727704c..5f609cf5 100644 --- a/src/core/servers-reconnect.c +++ b/src/core/servers-reconnect.c @@ -111,6 +111,21 @@ static int server_reconnect_timeout(void) } } + for (tmp = lookup_servers; tmp != NULL; tmp = next) { + SERVER_REC *server = tmp->data; + + next = tmp->next; + if (server->connect_time + connect_timeout < now && + connect_timeout > 0) { + if (server->connect_tag != -1) { + g_source_remove(server->connect_tag); + server->connect_tag = -1; + } + server->connection_lost = TRUE; + server_connect_failed(server, "Timeout"); + } + } + /* If server_connect() removes the next reconnection in queue, we're screwed. I don't think this should happen anymore, but just to be sure we don't crash, do this safely. */ -- cgit v1.2.3