diff --git a/src/Main.cxx b/src/Main.cxx index e13cbcc00..66a4c08e1 100644 --- a/src/Main.cxx +++ b/src/Main.cxx @@ -476,7 +476,12 @@ MainConfigured(const struct options &options, const ConfigData &raw_config) }; #endif - ZeroconfInit(raw_config, instance.event_loop); + try { + ZeroconfInit(raw_config, instance.event_loop); + } catch (...) { + LogError(std::current_exception(), + "Zeroconf initialization failed"); + } #ifdef ENABLE_DATABASE if (create_db) { diff --git a/src/zeroconf/Glue.hxx b/src/zeroconf/Glue.hxx index a7f594f27..356b81107 100644 --- a/src/zeroconf/Glue.hxx +++ b/src/zeroconf/Glue.hxx @@ -27,6 +27,9 @@ class EventLoop; #ifdef HAVE_ZEROCONF +/** + * Throws on error. + */ void ZeroconfInit(const ConfigData &config, EventLoop &loop);