From b9f54c55929eddb6446f8d5c983fb8f1008eb0c6 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sun, 8 Mar 2020 17:31:39 +0100 Subject: [PATCH] MINOR: backend: use a single call to ha_random32() for the random LB algo For the random LB algorithm we need a random 32-bit hashing key that used to be made of two calls to random(). Now we can simply perform a single call to ha_random32() and get rid of the useless operations. --- src/backend.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/backend.c b/src/backend.c index 87e3b9a1c..66f9cf2fc 100644 --- a/src/backend.c +++ b/src/backend.c @@ -540,8 +540,7 @@ static struct server *get_server_rnd(struct stream *s, const struct server *avoi curr = NULL; do { prev = curr; - /* ensure all 32 bits are covered as long as RAND_MAX >= 65535 */ - hash = ((uint64_t)ha_random() * ((uint64_t)RAND_MAX + 1)) ^ ha_random(); + hash = ha_random32(); curr = chash_get_server_hash(px, hash, avoid); if (!curr) break;