From 290350f481c961b230f598ab83fa15d1dc9f40f6 Mon Sep 17 00:00:00 2001 From: Yue Du Date: Mon, 4 Mar 2019 11:09:13 +0800 Subject: [PATCH] Round-robin from server 0 --- server.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server.c b/server.c index 008ae20..4c2a18b 100644 --- a/server.c +++ b/server.c @@ -176,16 +176,16 @@ static int server_by_prio(void) int server_by_roundrobin(void) { - static int last_server = 0; - int i = last_server; + static int last_server = -1; + int i, j; if (nservers == 0) return NO_SERVER; - do { + for (i = last_server, j = 0; j < nservers; j++) { i = (i+1) % (nservers?nservers:1); DEBUG(3, "server_by_roundrobin considering server %d", i); if (!server_is_unavailable(i)) return (last_server = i); DEBUG(3, "server %d is unavailable, try next one", i); - } while (i != last_server); + } return NO_SERVER; }