summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--tests/vhost-user-test.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c
index 56df5cc552..827c0c4a97 100644
--- a/tests/vhost-user-test.c
+++ b/tests/vhost-user-test.c
@@ -126,12 +126,9 @@ static gboolean g_cond_wait_until(CompatGCond cond, CompatGMutex mutex,
 }
 #endif
 
-static void read_guest_mem(void)
+static void wait_for_fds(void)
 {
-    uint32_t *guest_mem;
     gint64 end_time;
-    int i, j;
-    size_t size;
 
     g_mutex_lock(&data_mutex);
 
@@ -148,6 +145,19 @@ static void read_guest_mem(void)
     g_assert_cmpint(fds_num, >, 0);
     g_assert_cmpint(fds_num, ==, memory.nregions);
 
+    g_mutex_unlock(&data_mutex);
+}
+
+static void read_guest_mem(void)
+{
+    uint32_t *guest_mem;
+    int i, j;
+    size_t size;
+
+    wait_for_fds();
+
+    g_mutex_lock(&data_mutex);
+
     /* iterate all regions */
     for (i = 0; i < fds_num; i++) {