summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordefanor <defanor@uberspace.net>2020-08-31 18:42:42 +0300
committerdefanor <defanor@uberspace.net>2020-08-31 18:42:42 +0300
commit81769ec9599dc9bfea38690f501a31c486270b40 (patch)
treef5a867297c37c3fbd97250813cc1493feeb34a29
parentd10756f1974af1d502a3cb01d92c5fdb62576f0e (diff)
Don't shift reconnect timeout by attempt number if it's too high
-rw-r--r--src/rexmpp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/rexmpp.c b/src/rexmpp.c
index 1519700..41a45bd 100644
--- a/src/rexmpp.c
+++ b/src/rexmpp.c
@@ -457,7 +457,10 @@ void rexmpp_schedule_reconnect (rexmpp_t *s) {
}
s->reconnect_seconds %= 60;
}
- time_t seconds = s->reconnect_seconds << s->reconnect_number;
+ time_t seconds = 3600;
+ if (s->reconnect_number <= 12) {
+ seconds = s->reconnect_seconds << s->reconnect_number;
+ }
if (seconds > 3600) {
seconds = 3600;
}