diff --git a/interfaces/inner_api/hdi/base/hdi_smq.h b/interfaces/inner_api/hdi/base/hdi_smq.h index f710eeb2dfdc6c3d60e4b34abf2f0aa6aa04ea40..88789769478f09d8201831f0aae8a291f6fe331c 100644 --- a/interfaces/inner_api/hdi/base/hdi_smq.h +++ b/interfaces/inner_api/hdi/base/hdi_smq.h @@ -539,6 +539,8 @@ int SharedMemQueue::WriteNonBlocking(const T *data, size_t count) auto avalidWrite = GetAvalidWriteSize(); if (count > avalidWrite && meta_->GetType() == SmqType::SYNCED_SMQ) { // synced smq can not overflow write + HDF_LOGE("No sufficient space to write, try to write %{public}zu data, but currently " + "maximum writen space is %{public}zu.", count, avalidWrite); return -E2BIG; } @@ -576,10 +578,13 @@ template int SharedMemQueue::ReadNonBlocking(T *data, size_t count) { if (count == 0) { + HDF_LOGE("Try to read zero data from smq!"); return -EINVAL; } - - if (count > GetAvalidReadSize()) { + size_t availableRdsize = GetAvalidReadSize(); + if (count > availableRdsize) { + HDF_LOGE("No sufficient data to read, try to read %{public}zu data, " + "but available rd size is %{public}zu.", count, availableRdsize); return -ENODATA; }