From 1ccf1bb3441808829d8f29c7efe502317951aa23 Mon Sep 17 00:00:00 2001 From: hanlin15 Date: Wed, 13 Aug 2025 15:41:03 +0800 Subject: [PATCH] fix ut Signed-off-by: hanlin15 --- .../dbinder/include/dbinder_base_invoker_interface.h | 1 + .../core/dbinder/source/dbinder_databus_invoker.cpp | 9 +++++++++ .../core/framework/source/ipc_process_skeleton.cpp | 11 +++++++++-- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/ipc/native/src/core/dbinder/include/dbinder_base_invoker_interface.h b/ipc/native/src/core/dbinder/include/dbinder_base_invoker_interface.h index da5a4c76..17b2f632 100644 --- a/ipc/native/src/core/dbinder/include/dbinder_base_invoker_interface.h +++ b/ipc/native/src/core/dbinder/include/dbinder_base_invoker_interface.h @@ -220,6 +220,7 @@ template std::mutex &DBinderBaseInvoker::GetObjectMutex() template void DBinderBaseInvoker::PrintDBinderTransData(const dbinder_transaction_data *transData) { + ZLOGI(LOG_LABEL, "PrintDBinderTransData Called"); if (transData == nullptr) { ZLOGW(LOG_LABEL, "transData is nullptr"); return; diff --git a/ipc/native/src/core/dbinder/source/dbinder_databus_invoker.cpp b/ipc/native/src/core/dbinder/source/dbinder_databus_invoker.cpp index e4b55c40..a232e6dc 100644 --- a/ipc/native/src/core/dbinder/source/dbinder_databus_invoker.cpp +++ b/ipc/native/src/core/dbinder/source/dbinder_databus_invoker.cpp @@ -272,6 +272,7 @@ bool DBinderDatabusInvoker::CreateProcessThread() void DBinderDatabusInvoker::OnRawDataAvailable(int32_t socketId, uint64_t seqNumber, const char *data, uint32_t dataSize) { + ZLOGE(LOG_LABEL, "OnRawDataAvailable Called"); IPCProcessSkeleton *current = IPCProcessSkeleton::GetCurrent(); if (current == nullptr) { ZLOGE(LOG_LABEL, "IPCProcessSkeleton is nullptr"); @@ -309,6 +310,7 @@ void DBinderDatabusInvoker::OnRawDataAvailable(int32_t socketId, uint64_t seqNum */ void DBinderDatabusInvoker::OnMessageAvailable(int32_t socketId, const char *data, ssize_t len) { + ZLOGI(LOG_LABEL, "OnMessageAvailable Called"); if (socketId <= 0 || data == nullptr || len > static_cast(MAX_RAWDATA_SIZE) || len < static_cast(sizeof(dbinder_transaction_data))) { ZLOGE(LOG_LABEL, "wrong inputs, data length:%{public}zd(expected size:%{public}zu) " @@ -1051,6 +1053,7 @@ bool DBinderDatabusInvoker::EnableIPCThreadReclaim(bool enable) uint32_t DBinderDatabusInvoker::HasRawDataPackage(const char *data, ssize_t len) { + ZLOGI(LOG_LABEL, "HasRawDataPackage Called"); const dbinder_transaction_data *tr = reinterpret_cast(data); if ((tr->magic == DBINDER_MAGICWORD) && (tr->cmd == BC_SEND_RAWDATA) && (tr->sizeOfSelf == static_cast(len))) { @@ -1064,7 +1067,13 @@ uint32_t DBinderDatabusInvoker::HasRawDataPackage(const char *data, ssize_t len) uint32_t DBinderDatabusInvoker::HasCompletePackage(const char *data, uint32_t readCursor, ssize_t len) { + ZLOGI(LOG_LABEL, "HasCompletePackage Called"); + const dbinder_transaction_data *tr = reinterpret_cast(data + readCursor); + if (tr == nullptr) { + ZLOGE(LOG_LABEL, "tr is null"); + } + if ((tr->magic == DBINDER_MAGICWORD) && (tr->sizeOfSelf <= SOCKET_MAX_BUFF_SIZE + sizeof(dbinder_transaction_data)) && (readCursor + tr->sizeOfSelf <= static_cast(len)) && CheckTransactionData(tr)) { diff --git a/ipc/native/src/core/framework/source/ipc_process_skeleton.cpp b/ipc/native/src/core/framework/source/ipc_process_skeleton.cpp index fe127021..24258e81 100644 --- a/ipc/native/src/core/framework/source/ipc_process_skeleton.cpp +++ b/ipc/native/src/core/framework/source/ipc_process_skeleton.cpp @@ -421,6 +421,9 @@ void IPCProcessSkeleton::BlockUntilThreadAvailable() if (numExecuting_ > maxIPCThreadNum) { ZLOGE(LOG_LABEL, "numExecuting_++ is %{public}d", numExecuting_); } + if (threadPool_== nullptr) { + return; + } while (numExecuting_ >= threadPool_->GetMaxThreadNum()) { cv_.wait(lock); } @@ -433,7 +436,9 @@ void IPCProcessSkeleton::LockForNumExecuting() CHECK_INSTANCE_EXIT(exitFlag_); std::lock_guard lockGuard(mutex_); numExecuting_++; - + if (threadPool_== nullptr) { + return; + } if (numExecuting_ == threadPool_->GetMaxThreadNum()) { uint64_t curTime = static_cast(std::chrono::duration_cast( std::chrono::steady_clock::now().time_since_epoch()).count()); @@ -447,7 +452,9 @@ void IPCProcessSkeleton::UnlockForNumExecuting() { CHECK_INSTANCE_EXIT(exitFlag_); std::lock_guard lockGuard(mutex_); - + if (threadPool_== nullptr) { + return; + } if (numExecuting_ == threadPool_->GetMaxThreadNum()) { uint64_t curTime = static_cast(std::chrono::duration_cast( std::chrono::steady_clock::now().time_since_epoch()).count()); -- Gitee