Merge pull request #9725 from Icinga/operation_aborted-shutDownIfNeeded.Cancel

ApiListener#NewClientHandlerInternal(): on basic_socket#cancel() (due to timeout) don't ssl::stream#async_shutdown()
This commit is contained in:
Julian Brost 2023-04-17 12:21:21 +02:00 committed by GitHub
commit 8238ec0d96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -734,6 +734,7 @@ void ApiListener::NewClientHandlerInternal(
ClientType ctype;
try {
if (role == RoleClient) {
JsonRpc::SendMessage(client, new Dictionary({
{ "jsonrpc", "2.0" },
@ -790,6 +791,13 @@ void ApiListener::NewClientHandlerInternal(
ctype = ClientHttp;
}
}
} catch (const boost::system::system_error& systemError) {
if (systemError.code() == boost::asio::error::operation_aborted) {
shutDownIfNeeded.Cancel();
}
throw;
}
if (ctype == ClientJsonRpc) {
Log(LogNotice, "ApiListener", "New JSON-RPC client");