Merge "Make libfmq buildable for native_bridge"
diff --git a/benchmarks/Android.mk b/benchmarks/Android.mk
index d82c0a3..97c9a4b 100644
--- a/benchmarks/Android.mk
+++ b/benchmarks/Android.mk
@@ -31,7 +31,7 @@
LOCAL_REQUIRED_MODULES := android.hardware.tests.msgq@1.0-impl
ifneq ($(TARGET_2ND_ARCH),)
-LOCAL_REQUIRED_MODULES += android.hardware.tests.msgq@1.0-impl$(TARGET_2ND_ARCH_MODULE_SUFFIX)
+LOCAL_REQUIRED_MODULES += android.hardware.tests.msgq@1.0-impl:32
endif
LOCAL_SHARED_LIBRARIES += android.hardware.tests.msgq@1.0 libfmq
diff --git a/include/fmq/MessageQueue.h b/include/fmq/MessageQueue.h
index 848b77f..ca031aa 100644
--- a/include/fmq/MessageQueue.h
+++ b/include/fmq/MessageQueue.h
@@ -1169,7 +1169,14 @@
void* MessageQueue<T, flavor>::mapGrantorDescr(uint32_t grantorIdx) {
const native_handle_t* handle = mDesc->handle();
auto grantors = mDesc->grantors();
- if ((handle == nullptr) || (grantorIdx >= grantors.size())) {
+ if (handle == nullptr) {
+ details::logError("mDesc->handle is null");
+ return nullptr;
+ }
+
+ if (grantorIdx >= grantors.size()) {
+ details::logError(std::string("grantorIdx must be less than ") +
+ std::to_string(grantors.size()));
return nullptr;
}
@@ -1183,10 +1190,11 @@
void* address = mmap(0, mapLength, PROT_READ | PROT_WRITE, MAP_SHARED,
handle->data[fdIndex], mapOffset);
- return (address == MAP_FAILED)
- ? nullptr
- : reinterpret_cast<uint8_t*>(address) +
- (grantors[grantorIdx].offset - mapOffset);
+ if (address == MAP_FAILED) {
+ details::logError(std::string("mmap failed: ") + std::to_string(errno));
+ return nullptr;
+ }
+ return reinterpret_cast<uint8_t*>(address) + (grantors[grantorIdx].offset - mapOffset);
}
template <typename T, MQFlavor flavor>
diff --git a/tests/Android.mk b/tests/Android.mk
index 822a571..809ab2b 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -20,15 +20,16 @@
LOCAL_MODULE_CLASS := NATIVE_TESTS
LOCAL_SRC_FILES := fmq_test
LOCAL_REQUIRED_MODULES := \
- mq_test_client \
android.hardware.tests.msgq@1.0-service-test \
+ mq_test_client \
hidl_test_helper
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/nativetest64
ifneq ($(TARGET_2ND_ARCH),)
-LOCAL_REQUIRED_MODULES += android.hardware.tests.msgq@1.0-service-test$(TARGET_2ND_ARCH_MODULE_SUFFIX)
-LOCAL_REQUIRED_MODULES += mq_test_client$(TARGET_2ND_ARCH_MODULE_SUFFIX)
+LOCAL_REQUIRED_MODULES += \
+ android.hardware.tests.msgq@1.0-service-test:32 \
+ mq_test_client:32
endif
include $(BUILD_PREBUILT)