[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] glib: Add compat wrapper for g_poll on old glib
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH] glib: Add compat wrapper for g_poll on old glib |
Date: |
Tue, 26 Feb 2013 13:42:38 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 |
Il 26/02/2013 00:46, Alexander Graf ha scritto:
> Older glib doesn't implement g_poll(). Most notably the glib version in use
> on SLE11 is on 2.18 which is hit by this.
>
> We do want to use g_poll() in the source however. So on older systems, just
> wrap it with functions that do exist on older versions.
>
> Signed-off-by: Anthony Liguori <address@hidden>
> Signed-off-by: Alexander Graf <address@hidden>
> ---
> include/qemu-common.h | 12 ++++++++++++
> 1 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/include/qemu-common.h b/include/qemu-common.h
> index 80016ad..5e13708 100644
> --- a/include/qemu-common.h
> +++ b/include/qemu-common.h
> @@ -142,6 +142,18 @@ int qemu_main(int argc, char **argv, char **envp);
> void qemu_get_timedate(struct tm *tm, int offset);
> int qemu_timedate_diff(struct tm *tm);
>
> +#if !GLIB_CHECK_VERSION(2, 20, 0)
> +/*
> + * Glib before 2.20.0 doesn't implement g_poll, so wrap it to compile
> properly
> + * on older systems.
> + */
> +static inline gint g_poll(GPollFD *fds, guint nfds, gint timeout)
> +{
> + GMainContext *ctx = g_main_context_default();
> + return g_main_context_get_poll_func(ctx)(fds, nfds, timeout);
> +}
> +#endif
That's not g_poll. g_poll is just good old poll(2) on POSIX systems.
This is fine, but call it glib_poll and use it unconditionally.
Paolo
> /**
> * is_help_option:
> * @s: string to test
>