win32: use glib gpoll if glib >= 2.50

A fix has been committed in upstream glib commit
210a9796f78eb90f76f1bd6a304e9fea05e97617.
(See also related bug https://bugzilla.gnome.org/show_bug.cgi?id=764415)

It is desirable to use the glib version instead of qemu copy, since it
provides more debugging facilities (G_MAIN_POLL_DEBUG etc), and
hopefully has a better maintainance. Hopefully, we can drop the qemu
copy in a few years.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrange <berrange@redhat.com>
Reviewed-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
Marc-André Lureau 2017-01-03 20:19:33 +01:00 committed by Michael Tokarev
parent 6e4c890e15
commit 1706e9d819
2 changed files with 3 additions and 1 deletions

View File

@ -39,7 +39,7 @@ static inline gint64 qemu_g_get_monotonic_time(void)
#define g_get_monotonic_time() qemu_g_get_monotonic_time() #define g_get_monotonic_time() qemu_g_get_monotonic_time()
#endif #endif
#ifdef _WIN32 #if defined(_WIN32) && !GLIB_CHECK_VERSION(2, 50, 0)
/* /*
* g_poll has a problem on Windows when using * g_poll has a problem on Windows when using
* timeouts < 10ms, so use wrapper. * timeouts < 10ms, so use wrapper.

View File

@ -327,6 +327,7 @@ char *qemu_get_exec_dir(void)
return g_strdup(exec_dir); return g_strdup(exec_dir);
} }
#if !GLIB_CHECK_VERSION(2, 50, 0)
/* /*
* The original implementation of g_poll from glib has a problem on Windows * The original implementation of g_poll from glib has a problem on Windows
* when using timeouts < 10 ms. * when using timeouts < 10 ms.
@ -530,6 +531,7 @@ gint g_poll(GPollFD *fds, guint nfds, gint timeout)
return retval; return retval;
} }
#endif
int getpagesize(void) int getpagesize(void)
{ {