summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ratox.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/ratox.c b/ratox.c
index 5f40ecc..fa78f13 100644
--- a/ratox.c
+++ b/ratox.c
@@ -1258,10 +1258,21 @@ static int
toxconnect(void)
{
struct node *n;
+ struct node tmp;
uint8_t id[TOX_CLIENT_ID_SIZE];
- size_t i;
+ size_t i, j;
int r;
+ srand(time(NULL));
+
+ /* shuffle it to minimize load on nodes */
+ for (i = LEN(nodes) - 1; i > 0; i--) {
+ j = rand() % LEN(nodes);
+ tmp = nodes[j];
+ nodes[j] = nodes[i];
+ nodes[i] = tmp;
+ }
+
for (i = 0; i < LEN(nodes); i++) {
n = &nodes[i];
if (ipv6 == 1 && !n->addr6)