summaryrefslogtreecommitdiff
path: root/tests/msgq/1.0/default/TestMsgQ.cpp
diff options
context:
space:
mode:
authorDevin Moore <devinmoore@google.com>2021-01-25 18:20:54 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-01-25 18:20:54 +0000
commit1f00c21c28715bc102138561b9218aaa088589bd (patch)
tree97f8513604705b33d7c8994337d6f4d030302f0b /tests/msgq/1.0/default/TestMsgQ.cpp
parentec203cf2fb69167c4d6829d7060fa253ca9ce900 (diff)
parent17365e56a26fbc10aba10e7e0141d0c4f4937614 (diff)
Merge "Use NativeHandle in MQDescriptor instead of ParcelFileDescriptor"
Diffstat (limited to 'tests/msgq/1.0/default/TestMsgQ.cpp')
-rw-r--r--tests/msgq/1.0/default/TestMsgQ.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/msgq/1.0/default/TestMsgQ.cpp b/tests/msgq/1.0/default/TestMsgQ.cpp
index 44737378b3..4726ffe5e9 100644
--- a/tests/msgq/1.0/default/TestMsgQ.cpp
+++ b/tests/msgq/1.0/default/TestMsgQ.cpp
@@ -41,10 +41,19 @@ Return<bool> TestMsgQ::configureFmqSyncReadWrite(
return true;
}
-Return<void> TestMsgQ::getFmqUnsyncWrite(bool configureFmq, getFmqUnsyncWrite_cb _hidl_cb) {
+Return<void> TestMsgQ::getFmqUnsyncWrite(bool configureFmq, bool userFd,
+ getFmqUnsyncWrite_cb _hidl_cb) {
if (configureFmq) {
static constexpr size_t kNumElementsInQueue = 1024;
- mFmqUnsynchronized.reset(new (std::nothrow) MessageQueueUnsync(kNumElementsInQueue));
+ static constexpr size_t kElementSizeBytes = sizeof(int32_t);
+ android::base::unique_fd ringbufferFd;
+ if (userFd) {
+ ringbufferFd.reset(
+ ::ashmem_create_region("UnsyncWrite", kNumElementsInQueue * kElementSizeBytes));
+ }
+ mFmqUnsynchronized.reset(new (std::nothrow) MessageQueueUnsync(
+ kNumElementsInQueue, false, std::move(ringbufferFd),
+ kNumElementsInQueue * kElementSizeBytes));
}
if ((mFmqUnsynchronized == nullptr) ||
(mFmqUnsynchronized->isValid() == false)) {