2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-31 14:05:33 +00:00

[5090] Applied propose fix by stopping the IO service on run exists

This commit is contained in:
Francis Dupont
2017-01-08 10:53:33 +01:00
parent 0fac72084b
commit 9485112d93

View File

@@ -1,4 +1,4 @@
// 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);