Wait for RPMB socket to prevent race

Bug: 130234908
Change-Id: I72d885ad59e6982c52b05243a4c2546753d74ab0
diff --git a/project/qemu/qemu.py b/project/qemu/qemu.py
index dda9a3e..3fb6d5f 100644
--- a/project/qemu/qemu.py
+++ b/project/qemu/qemu.py
@@ -301,6 +301,20 @@
                                       "--sock", rpmb_sock])
         self.rpmb_proc = rpmb_proc
 
+        # Wait for RPMB socket to appear to avoid a race with QEMU
+        test_sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+        tries = 0
+        max_tries = 10
+        while True:
+            tries += 1
+            try:
+                test_sock.connect(rpmb_sock)
+                break
+            except socket.error as exn:
+                if tries >= max_tries:
+                    raise exn
+                time.sleep(1)
+
         return ["-device", "virtserialport,chardev=rpmb0,name=rpmb0",
                 "-chardev", "socket,id=rpmb0,path=%s" % rpmb_sock]