diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-01-04 21:20:46 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-01-04 21:20:46 +0000 |
commit | b4b3e77498d6c9aa610dd1a58ef2e23b077a1b30 (patch) | |
tree | 686a8002f1c04c1661277a1dd3b3e8873849b293 /storage/src | |
parent | 8011defcea5a8e09dcc437e56db1c59c3d14f72d (diff) |
Quck bail out when port can not be listened to.
Diffstat (limited to 'storage/src')
-rw-r--r-- | storage/src/vespa/storage/frameworkimpl/status/statuswebserver.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/storage/src/vespa/storage/frameworkimpl/status/statuswebserver.cpp b/storage/src/vespa/storage/frameworkimpl/status/statuswebserver.cpp index 1d3827d9971..2f6346c91b9 100644 --- a/storage/src/vespa/storage/frameworkimpl/status/statuswebserver.cpp +++ b/storage/src/vespa/storage/frameworkimpl/status/statuswebserver.cpp @@ -55,8 +55,14 @@ void StatusWebServer::configure(std::unique_ptr<vespa::config::content::core::St std::unique_ptr<WebServer> server; // Negative port number means don't run the web server if (newPort >= 0) { - server.reset(new WebServer(*this, newPort)); - // Now that we know config update went well, update internal state + try { + server.reset(new WebServer(*this, newPort)); + } catch (const vespalib::PortListenException & e) { + LOG(error, "Failed listening to network port(%d) with protocol(%s): '%s', giving up and restarting.", + e.get_port(), e.get_protocol().c_str(), e.what()); + std::quick_exit(17); + } + // Now that we know config update went well, update internal state _port = server->getListenPort(); LOG(config, "Status pages now available on port %u", _port); if (_httpServer) { |