From: Willy Tarreau Date: Sun, 8 Mar 2020 16:31:39 +0000 (+0100) Subject: MINOR: backend: use a single call to ha_random32() for the random LB algo X-Git-Tag: v2.2-dev4~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b9f54c55929eddb6446f8d5c983fb8f1008eb0c6;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/backend.c b/src/backend.c index 87e3b9a1c7..66f9cf2fcd 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;