diff mbox

[for-2.5,v4,3/4] vhost-user-test: fix crash with glib < 2.36

Message ID 1448901890-17012-4-git-send-email-marcandre.lureau@redhat.com
State New
Headers show

Commit Message

Marc-André Lureau Nov. 30, 2015, 4:44 p.m. UTC
From: Marc-André Lureau <marcandre.lureau@redhat.com>

The prepare callback needs to be implemented with glib < 2.36,
quoting glib documentation:
"Since 2.36 this may be NULL, in which case the effect is as if the
function always returns FALSE with a timeout of -1."

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 tests/vhost-user-test.c | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

Comments

Alex Bennée Dec. 1, 2015, 1:15 p.m. UTC | #1
marcandre.lureau@redhat.com writes:

> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> The prepare callback needs to be implemented with glib < 2.36,
> quoting glib documentation:
> "Since 2.36 this may be NULL, in which case the effect is as if the
> function always returns FALSE with a timeout of -1."
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

> ---
>  tests/vhost-user-test.c | 19 +++++++++++++++----
>  1 file changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c
> index 29205ed..29de739 100644
> --- a/tests/vhost-user-test.c
> +++ b/tests/vhost-user-test.c
> @@ -506,11 +506,22 @@ test_migrate_source_check(GSource *source)
>      return FALSE;
>  }
>
> +#if !GLIB_CHECK_VERSION(2,36,0)
> +/* this callback is unnecessary with glib >2.36, the default
> + * prepare for the source does the same */
> +static gboolean
> +test_migrate_source_prepare(GSource *source, gint *timeout)
> +{
> +    *timeout = -1;
> +    return FALSE;
> +}
> +#endif
> +
>  GSourceFuncs test_migrate_source_funcs = {
> -    NULL,
> -    test_migrate_source_check,
> -    NULL,
> -    NULL
> +#if !GLIB_CHECK_VERSION(2,36,0)
> +    .prepare = test_migrate_source_prepare,
> +#endif
> +    .check = test_migrate_source_check,
>  };
>
>  static void test_migrate(void)


--
Alex Bennée
diff mbox

Patch

diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c
index 29205ed..29de739 100644
--- a/tests/vhost-user-test.c
+++ b/tests/vhost-user-test.c
@@ -506,11 +506,22 @@  test_migrate_source_check(GSource *source)
     return FALSE;
 }
 
+#if !GLIB_CHECK_VERSION(2,36,0)
+/* this callback is unnecessary with glib >2.36, the default
+ * prepare for the source does the same */
+static gboolean
+test_migrate_source_prepare(GSource *source, gint *timeout)
+{
+    *timeout = -1;
+    return FALSE;
+}
+#endif
+
 GSourceFuncs test_migrate_source_funcs = {
-    NULL,
-    test_migrate_source_check,
-    NULL,
-    NULL
+#if !GLIB_CHECK_VERSION(2,36,0)
+    .prepare = test_migrate_source_prepare,
+#endif
+    .check = test_migrate_source_check,
 };
 
 static void test_migrate(void)