contexthub HAL: test: Fix concurrent logging issues
Let Rx and Tx lines not interrupt each other
this simplifies debugging
Bug: 30165300
Change-Id: I179d22293102ed081d8bb3d7843b9f4821711a52
Signed-off-by: Alexey Polyudov <apolyudov@google.com>
diff --git a/contexthubhal/test/main.cpp b/contexthubhal/test/main.cpp
index 7951459..72245ef 100644
--- a/contexthubhal/test/main.cpp
+++ b/contexthubhal/test/main.cpp
@@ -148,7 +148,9 @@
{
CHub::Client *mClient;
std::ostream &log;
+ android::Mutex lock;
void onMessage(const hub_message_t &msg){
+ android::Mutex::Autolock _l(lock);
dumpBuffer(log, "Rx", msg.app_name, msg.message_type, msg.message, msg.message_len, 0);
log << std::endl;
}
@@ -166,6 +168,11 @@
msg.message_len = dataSize;
msg.message_type = cmd;
msg.app_name = mClient->getSystemApp();
+ {
+ android::Mutex::Autolock _l(lock);
+ dumpBuffer(log, "Tx", msg.app_name, msg.message_type, msg.message, msg.message_len, 0);
+ log << std::endl;
+ }
sendMessage(msg);
}
void sendMessageToApp(const hub_app_name_t appName, void * data, size_t dataSize) {