From: Francis Dupont Date: Wed, 24 Feb 2016 12:17:32 +0000 (+0100) Subject: [4310] Put LOG_FATAL() calls in a try block to avoid double errors X-Git-Tag: trac4248_base~18^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f693bc433c4330679335df29ade9f5b95ff6d403;p=thirdparty%2Fkea.git [4310] Put LOG_FATAL() calls in a try block to avoid double errors --- diff --git a/src/bin/dhcp4/main.cc b/src/bin/dhcp4/main.cc index 3300a8572c..553520a7c4 100644 --- a/src/bin/dhcp4/main.cc +++ b/src/bin/dhcp4/main.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2011-2015 Internet Systems Consortium, Inc. ("ISC") +// Copyright (C) 2011-2016 Internet Systems Consortium, Inc. ("ISC") // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -175,8 +175,12 @@ main(int argc, char* argv[]) { // Let's also try to log it using logging system, but we're not // sure if it's usable (the exception may have been thrown from // the logger subsystem) - LOG_FATAL(dhcp4_logger, DHCP4_ALREADY_RUNNING) - .arg(DHCP4_NAME).arg(ex.what()); + try { + LOG_FATAL(dhcp4_logger, DHCP4_ALREADY_RUNNING) + .arg(DHCP4_NAME).arg(ex.what()); + } catch (...) { + // Already logged so ignore + } ret = EXIT_FAILURE; } catch (const std::exception& ex) { // First, we print the error on stderr (that should always work) @@ -186,7 +190,11 @@ main(int argc, char* argv[]) { // Let's also try to log it using logging system, but we're not // sure if it's usable (the exception may have been thrown from // the logger subsystem) - LOG_FATAL(dhcp4_logger, DHCP4_SERVER_FAILED).arg(ex.what()); + try { + LOG_FATAL(dhcp4_logger, DHCP4_SERVER_FAILED).arg(ex.what()); + } catch (...) { + // Already logged so ignore + } ret = EXIT_FAILURE; } diff --git a/src/bin/dhcp6/main.cc b/src/bin/dhcp6/main.cc index 3c35acc202..6bde296fa6 100644 --- a/src/bin/dhcp6/main.cc +++ b/src/bin/dhcp6/main.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2011-2015 Internet Systems Consortium, Inc. ("ISC") +// Copyright (C) 2011-2016 Internet Systems Consortium, Inc. ("ISC") // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -182,8 +182,12 @@ main(int argc, char* argv[]) { // Let's also try to log it using logging system, but we're not // sure if it's usable (the exception may have been thrown from // the logger subsystem) - LOG_FATAL(dhcp6_logger, DHCP6_ALREADY_RUNNING) - .arg(DHCP6_NAME).arg(ex.what()); + try { + LOG_FATAL(dhcp6_logger, DHCP6_ALREADY_RUNNING) + .arg(DHCP6_NAME).arg(ex.what()); + } catch (...) { + // Already logged so ignore + } ret = EXIT_FAILURE; } catch (const std::exception& ex) { @@ -194,7 +198,11 @@ main(int argc, char* argv[]) { // Let's also try to log it using logging system, but we're not // sure if it's usable (the exception may have been thrown from // the logger subsystem) - LOG_FATAL(dhcp6_logger, DHCP6_SERVER_FAILED).arg(ex.what()); + try { + LOG_FATAL(dhcp6_logger, DHCP6_SERVER_FAILED).arg(ex.what()); + } catch (...) { + // Already logged so ignore + } ret = EXIT_FAILURE; }