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) {