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]