From: Carl Hetherington Date: Thu, 26 Nov 2020 01:05:25 +0000 (+0100) Subject: If we don't query a server (because we already know about it) X-Git-Tag: v2.15.108~6 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=dfb23c675ca145b5570ccb5790ea804ad736a247 If we don't query a server (because we already know about it) the "last seen time" will never be updated, so the server will be discarded. It seems that we should always ping servers (so that set_seen gets called on receipt of the response), no matter whether "auto-discovered" or configured, so that the "discard" code doesn't kick in. Otherwise we remove and re-add our configured servers every 10 seconds, which is inefficient and which possibly triggers other bugs. --- diff --git a/src/lib/encode_server_finder.cc b/src/lib/encode_server_finder.cc index 3401a5cf5..c823d868f 100644 --- a/src/lib/encode_server_finder.cc +++ b/src/lib/encode_server_finder.cc @@ -123,10 +123,6 @@ try /* Query our `definite' servers (if there are any) */ BOOST_FOREACH (string const& i, Config::instance()->servers()) { - if (server_found(i)) { - /* Don't bother asking a server that we already know about */ - continue; - } try { boost::asio::ip::udp::resolver resolver (io_service); boost::asio::ip::udp::resolver::query query (i, raw_convert (HELLO_PORT));