From: Marc-André Lureau <marcandre.lur...@redhat.com> This function is a precondition for most vhost-user tests.
Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- tests/vhost-user-test.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c index 228acb6..551a664 100644 --- a/tests/vhost-user-test.c +++ b/tests/vhost-user-test.c @@ -205,15 +205,11 @@ static GThread *_thread_new(const gchar *name, GThreadFunc func, gpointer data) return thread; } -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); - end_time = _get_time() + 5 * G_TIME_SPAN_SECOND; while (!fds_num) { if (!_cond_wait_until(data_cond, data_mutex, end_time)) { @@ -227,6 +223,17 @@ 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(); + /* iterate all regions */ for (i = 0; i < fds_num; i++) { -- 2.4.3