[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: |
Anthony Liguori |
Subject: |
Re: [Qemu-devel] [PATCH] glib: Add compat wrapper for g_poll on old glib |
Date: |
Tue, 26 Feb 2013 07:18:16 -0600 |
User-agent: |
Notmuch/0.13.2+93~ged93d79 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) |
Paolo Bonzini <address@hidden> writes:
> 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.
Technically it is. The function pointer it returns is just g_poll().
I agree that we should use it unconditionally though because glib let's
you change this function. Technically speaking, we should use this
mechanism instead of calling g_poll directly.
Regards,
Anthony Liguori
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
>>
- [Qemu-devel] [PATCH] glib: Add compat wrapper for g_poll on old glib, Alexander Graf, 2013/02/25
- Re: [Qemu-devel] [PATCH] glib: Add compat wrapper for g_poll on old glib, Laurent Desnogues, 2013/02/26
- Re: [Qemu-devel] [PATCH] glib: Add compat wrapper for g_poll on old glib, Stefan Hajnoczi, 2013/02/26
- Re: [Qemu-devel] [PATCH] glib: Add compat wrapper for g_poll on old glib, Peter Crosthwaite, 2013/02/26
- Re: [Qemu-devel] [PATCH] glib: Add compat wrapper for g_poll on old glib, Paolo Bonzini, 2013/02/26
- Re: [Qemu-devel] [PATCH] glib: Add compat wrapper for g_poll on old glib,
Anthony Liguori <=
- Re: [Qemu-devel] [PATCH] glib: Add compat wrapper for g_poll on old glib, Anthony Liguori, 2013/02/27