mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-08 20:47:08 +03:00
make sure to reboot upon all LMS server discover failures - release
This commit is contained in:
@@ -825,7 +825,7 @@ in_addr_t discover_server(char *default_server, int max) {
|
|||||||
|
|
||||||
do {
|
do {
|
||||||
|
|
||||||
LOG_INFO("sending discovery");
|
LOG_INFO("sending discovery %u", max);
|
||||||
memset(&s, 0, sizeof(s));
|
memset(&s, 0, sizeof(s));
|
||||||
|
|
||||||
if (sendto(disc_sock, buf, len, 0, (struct sockaddr *)&d, sizeof(d)) < 0) {
|
if (sendto(disc_sock, buf, len, 0, (struct sockaddr *)&d, sizeof(d)) < 0) {
|
||||||
@@ -885,7 +885,13 @@ void slimproto(log_level level, char *server, u8_t mac[6], const char *name, con
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!slimproto_ip) {
|
if (!slimproto_ip) {
|
||||||
slimproto_ip = discover_server(server, 0);
|
#if EMBEDDED
|
||||||
|
// on first attempt, try really hard to connect before exiting (and only exit if we are not on another sink)
|
||||||
|
slimproto_ip = discover_server(server, MAX_SERVER_RETRIES * 5);
|
||||||
|
if (!slimproto_ip && !output.external) return;
|
||||||
|
#else
|
||||||
|
slimproto_ip = discover_server(server, 0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!slimproto_port) {
|
if (!slimproto_port) {
|
||||||
@@ -970,7 +976,7 @@ void slimproto(log_level level, char *server, u8_t mac[6], const char *name, con
|
|||||||
|
|
||||||
#if EMBEDDED
|
#if EMBEDDED
|
||||||
// in embedded we give up after a while no matter what
|
// in embedded we give up after a while no matter what
|
||||||
if (++failed_connect > 5 && !server) {
|
if (++failed_connect > MAX_SERVER_RETRIES && !server) {
|
||||||
slimproto_ip = serv_addr.sin_addr.s_addr = discover_server(NULL, MAX_SERVER_RETRIES);
|
slimproto_ip = serv_addr.sin_addr.s_addr = discover_server(NULL, MAX_SERVER_RETRIES);
|
||||||
if (!slimproto_ip) return;
|
if (!slimproto_ip) return;
|
||||||
} else if (reconnect && MAX_SERVER_RETRIES && failed_connect > 5 * MAX_SERVER_RETRIES) return;
|
} else if (reconnect && MAX_SERVER_RETRIES && failed_connect > 5 * MAX_SERVER_RETRIES) return;
|
||||||
|
|||||||
Reference in New Issue
Block a user