|
@@ -513,16 +513,17 @@ impl Future for Main {
|
|
while (!self.auto_connect_times.is_empty()) && ((Instant::now() - self.auto_connect_times[0]).as_secs() > 600) {
|
|
while (!self.auto_connect_times.is_empty()) && ((Instant::now() - self.auto_connect_times[0]).as_secs() > 600) {
|
|
let _ = self.auto_connect_times.remove(0);
|
|
let _ = self.auto_connect_times.remove(0);
|
|
}
|
|
}
|
|
- if self.auto_connect_times.len() >= 5 {
|
|
|
|
- error!("Spirc shut down too often. Exiting to avoid too many login attempts.");
|
|
|
|
- return Ok(Async::Ready(()));
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
if let Some(credentials) = self.last_credentials.clone() {
|
|
if let Some(credentials) = self.last_credentials.clone() {
|
|
- self.auto_connect_times.push(Instant::now());
|
|
|
|
- self.credentials(credentials);
|
|
|
|
- progress = true;
|
|
|
|
|
|
+ if self.auto_connect_times.len() >= 5 {
|
|
|
|
+ warn!("Spirc shut down too often. Not reconnecting automatically.");
|
|
|
|
+ } else {
|
|
|
|
+ self.auto_connect_times.push(Instant::now());
|
|
|
|
+ self.credentials(credentials);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ progress = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|