about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/ngircd/conf.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/ngircd/conf.c b/src/ngircd/conf.c
index 6a7f6339..81525129 100644
--- a/src/ngircd/conf.c
+++ b/src/ngircd/conf.c
@@ -481,8 +481,12 @@ Conf_UnsetServer( CONN_ID Idx )
 				 * require the next attempt to be delayed. */
 				Conf_Server[i].lasttry =
 					t - Conf_ConnectRetry + RECONNECT_DELAY;
-			} else
-				Conf_Server[i].lasttry = t;
+			} else {
+				/* "Short" connection, enforce "ConnectRetry"
+				 * but randomize it a little bit: 15 seconds. */
+				Conf_Server[i].lasttry =
+					t + rand() / (RAND_MAX / 15);
+			}
 		}
 	}
 }