From 3883f35d60400c17d58092e902f361b8443df89e Mon Sep 17 00:00:00 2001 From: liuyifei Date: Mon, 22 Jul 2024 02:13:24 +0000 Subject: [PATCH] =?UTF-8?q?CFI=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liuyifei --- frameworks/libhilog/socket/hilog_input_socket_server.cpp | 4 +++- services/hilogd/cmd_executor.cpp | 4 +++- services/hilogd/log_persister.cpp | 4 +++- services/hilogd/main.cpp | 4 ++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/frameworks/libhilog/socket/hilog_input_socket_server.cpp b/frameworks/libhilog/socket/hilog_input_socket_server.cpp index 75f0a10..f8280cc 100644 --- a/frameworks/libhilog/socket/hilog_input_socket_server.cpp +++ b/frameworks/libhilog/socket/hilog_input_socket_server.cpp @@ -36,7 +36,9 @@ HilogInputSocketServer::ServerThreadState HilogInputSocketServer::RunServingThre return ServerThreadState::ALREADY_STARTED; } m_stopServer.store(false); - m_serverThread = std::thread(&HilogInputSocketServer::ServingThread, this); + m_serverThread = std::thread([this]() { + ServingThread(); + }); if (m_serverThread.get_id() != std::thread().get_id()) { return ServerThreadState::JUST_STARTED; } diff --git a/services/hilogd/cmd_executor.cpp b/services/hilogd/cmd_executor.cpp index 9ab6fde..f37f92d 100644 --- a/services/hilogd/cmd_executor.cpp +++ b/services/hilogd/cmd_executor.cpp @@ -70,7 +70,9 @@ void CmdExecutor::OnAcceptedConnection(std::unique_ptr handler) auto newVal = std::make_unique(); if (newVal != nullptr) { newVal->m_stopThread.store(false); - newVal->m_clientThread = std::thread(&CmdExecutor::ClientEventLoop, this, std::move(handler)); + newVal->m_clientThread = std::thread([this](std::unique_ptr handler) { + ClientEventLoop(std::move(handler)); + }, std::move(handler)); m_clients.push_back(std::move(newVal)); } } diff --git a/services/hilogd/log_persister.cpp b/services/hilogd/log_persister.cpp index 98b34e6..584042b 100644 --- a/services/hilogd/log_persister.cpp +++ b/services/hilogd/log_persister.cpp @@ -323,7 +323,9 @@ void LogPersister::Start() } if (IsEmptyThread(m_persisterThread)) { - m_persisterThread = std::thread(&LogPersister::ReceiveLogLoop, shared_from_this()); + m_persisterThread = std::thread([shared = shared_from_this()]() { + shared->ReceiveLogLoop(); + }); } else { std::cout << " Persister thread already started!\n"; } diff --git a/services/hilogd/main.cpp b/services/hilogd/main.cpp index d459381..7daa6bf 100644 --- a/services/hilogd/main.cpp +++ b/services/hilogd/main.cpp @@ -195,7 +195,7 @@ int HilogdEntry() (void)WriteStringToFile(myPid, SYSTEM_BG_BLKIO); }, {}, {}, ffrt::task_attr().name("hilogd.cgroup_set")); - auto cmdExecuteTask = std::async(std::launch::async, [&logCollector, &hilogBuffer, &kmsgBuffer]() { + std::thread([&logCollector, &hilogBuffer, &kmsgBuffer] () { prctl(PR_SET_NAME, "hilogd.cmd"); CmdList controlCmdList { IoctlCmd::PERSIST_START_RQST, @@ -213,7 +213,7 @@ int HilogdEntry() }; CmdExecutor controlExecutor(logCollector, hilogBuffer, kmsgBuffer, controlCmdList, ("hilogd.control")); controlExecutor.MainLoop(CONTROL_SOCKET_NAME); - }); + }).detach(); CmdList outputList {IoctlCmd::OUTPUT_RQST}; CmdExecutor outputExecutor(logCollector, hilogBuffer, kmsgBuffer, outputList, ("hilogd.output")); -- Gitee