diff --git a/interfaces/inner_api/hdi/base/hdi_smq.h b/interfaces/inner_api/hdi/base/hdi_smq.h index 59c7b480f1366da93343d705f025860396eed14b..e73aa29ec547580059e1eccde1c21c7b7329a9a7 100644 --- a/interfaces/inner_api/hdi/base/hdi_smq.h +++ b/interfaces/inner_api/hdi/base/hdi_smq.h @@ -464,13 +464,14 @@ int SharedMemQueue::Write(const T *data, size_t count, int64_t waitTimeNanoSe startTime = currentTime; if (waitTimeNanoSec <= 0) { ret = WriteNonBlocking(data, count); - HDF_LOGE("Non-positive waitTimeNanoSec, WriteNonBlocking ret: %{public}d.", ret); + HDF_LOGE("Non-positive waitTimeNanoSec, data count: %{public}zu, WriteNonBlocking ret: %{public}d.", + count, ret); break; } } ret = syncer_->Wait(SharedMemQueueSyncer::SYNC_WORD_WRITE, waitTimeNanoSec); if (ret != 0 && ret != -ETIMEDOUT) { - HDF_LOGE("Write syncer wait failed, ret: %{public}d.", ret); + HDF_LOGE("Write syncer wait failed, , data count: %{public}zu, ret: %{public}d.", count, ret); break; } @@ -534,13 +535,14 @@ int SharedMemQueue::Read(T *data, size_t count, int64_t waitTimeNanoSec) startTime = currentTime; if (waitTimeNanoSec <= 0) { ret = ReadNonBlocking(data, count); - HDF_LOGE("Non-positive waitTimeNanoSec, ReadNonBlocking ret: %{public}d.", ret); + HDF_LOGE("Non-positive waitTimeNanoSec, data count: %{public}zu, ReadNonBlocking ret: %{public}d.", + count, ret); break; } } ret = syncer_->Wait(SharedMemQueueSyncer::SYNC_WORD_READ, waitTimeNanoSec); if (ret != 0 && ret != -ETIMEDOUT) { - HDF_LOGE("Read syncer wait failed, ret: %{public}d.", ret); + HDF_LOGE("Read syncer wait failed, , data count: %{public}zu, ret: %{public}d.", count, ret); break; } @@ -588,7 +590,7 @@ int SharedMemQueue::WriteNonBlocking(const T *data, size_t count) if (wOffset + count <= (qCount + 1)) { if (memcpy_s(queueBuffer_ + (wOffset * sizeof(T)), (qCount + 1 - wOffset) * sizeof(T), data, count * sizeof(T)) != EOK) { - HDF_LOGE("whole memcpy_s failed."); + HDF_LOGE("%s whole memcpy_s failed, data count: %{public}zu.", __func__, count); return HDF_FAILURE; }; newWriteOffset = (wOffset + count) % (qCount + 1); @@ -597,11 +599,11 @@ int SharedMemQueue::WriteNonBlocking(const T *data, size_t count) size_t secPartSize = count - firstPartSize; if (memcpy_s(queueBuffer_ + (wOffset * sizeof(T)), (qCount + 1 - wOffset) * sizeof(T), data, firstPartSize * sizeof(T)) != EOK) { - HDF_LOGE("Twofold, first part memcpy_s failed."); + HDF_LOGE("%s Twofold, first part memcpy_s failed, data count: %{public}zu.", __func__, count); return HDF_FAILURE; } if (memcpy_s(queueBuffer_, qCount * sizeof(T), data + firstPartSize, secPartSize * sizeof(T)) != EOK) { - HDF_LOGE("Twofold, second part memcpy_s failed."); + HDF_LOGE("%s Twofold, second part memcpy_s failed, data count: %{public}zu.", __func__, count); return HDF_FAILURE; } newWriteOffset = secPartSize; @@ -632,6 +634,7 @@ int SharedMemQueue::ReadNonBlocking(T *data, size_t count) auto rOffset = readOffset_->load(std::memory_order_acquire); if (rOffset + count <= (qCount + 1)) { if (memcpy_s(data, count * sizeof(T), queueBuffer_ + (rOffset * sizeof(T)), count * sizeof(T)) != EOK) { + HDF_LOGE("%s whole memcpy_s failed, data count: %{public}zu.", __func__, count); return HDF_FAILURE; } readOffset_->store((rOffset + count) % (qCount + 1), std::memory_order_release); @@ -643,10 +646,12 @@ int SharedMemQueue::ReadNonBlocking(T *data, size_t count) if (memcpy_s(data, firstPartSize * sizeof(T), queueBuffer_ + (rOffset * sizeof(T)), firstPartSize * sizeof(T)) != EOK) { + HDF_LOGE("%s Twofold, first part memcpy_s failed, data count: %{public}zu.", __func__, count); return HDF_FAILURE; } if (memcpy_s(data + firstPartSize, secPartSize * sizeof(T), queueBuffer_, secPartSize * sizeof(T)) != EOK) { + HDF_LOGE("%s Twofold, second part memcpy_s failed, data count: %{public}zu.", __func__, count); return HDF_FAILURE; }; readOffset_->store(secPartSize, std::memory_order_release);