summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-02-09 22:28:38 +0000
committerCarl Hetherington <cth@carlh.net>2014-02-09 22:28:38 +0000
commit02c400669a490617969a8f3924dd0bce0840a7b8 (patch)
treeab50d1a88b1383318dd44c2e9ba9880d818546c2
parente4b65ba64c319281d6bff15e950ebce697c9621a (diff)
Ignore exceptions from send_to on server-search broadcast.
-rw-r--r--ChangeLog2
-rw-r--r--src/lib/server_finder.cc8
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 4f0bce552..0d3633cbd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2014-02-09 Carl Hetherington <cth@carlh.net>
+ * Possibly fix repeated no route to host errors in some cases.
+
* Some small bits of increased low-memory stability.
* Version 1.64.7 released.
diff --git a/src/lib/server_finder.cc b/src/lib/server_finder.cc
index c4d3dc357..3d5825ad4 100644
--- a/src/lib/server_finder.cc
+++ b/src/lib/server_finder.cc
@@ -65,8 +65,12 @@ try
while (1) {
if (Config::instance()->use_any_servers ()) {
/* Broadcast to look for servers */
- boost::asio::ip::udp::endpoint end_point (boost::asio::ip::address_v4::broadcast(), Config::instance()->server_port_base() + 1);
- socket.send_to (boost::asio::buffer (data.c_str(), data.size() + 1), end_point);
+ try {
+ boost::asio::ip::udp::endpoint end_point (boost::asio::ip::address_v4::broadcast(), Config::instance()->server_port_base() + 1);
+ socket.send_to (boost::asio::buffer (data.c_str(), data.size() + 1), end_point);
+ } catch (...) {
+
+ }
}
/* Query our `definite' servers (if there are any) */