Commit 66f91d57 authored by Francis Dupont's avatar Francis Dupont
Browse files

[master] Merged trac5090 (race in new agent shutdown)

parents 74afe627 9485112d
// Copyright (C) 2016 Internet Systems Consortium, Inc. ("ISC")
// Copyright (C) 2016-2017 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
......@@ -31,15 +31,20 @@ void
CtrlAgentProcess::run() {
LOG_INFO(agent_logger, CTRL_AGENT_STARTED).arg(VERSION);
while (!shouldShutdown()) {
try {
try {
while (!shouldShutdown()) {
getIoService()->run_one();
} catch (const std::exception& ex) {
LOG_FATAL(agent_logger, CTRL_AGENT_FAILED).arg(ex.what());
isc_throw(DProcessBaseError,
"Process run method failed: " << ex.what());
}
stopIOService();
} catch (const std::exception& ex) {
LOG_FATAL(agent_logger, CTRL_AGENT_FAILED).arg(ex.what());
try {
stopIOService();
} catch (...) {
// Ignore double errors
}
isc_throw(DProcessBaseError,
"Process run method failed: " << ex.what());
}
LOG_DEBUG(agent_logger, DBGLVL_START_SHUT, CTRL_AGENT_RUN_EXIT);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment