2 * GLIB Compatibility Functions
4 * Copyright IBM, Corp. 2013
7 * Anthony Liguori <aliguori@us.ibm.com>
9 * This work is licensed under the terms of the GNU GPL, version 2 or later.
10 * See the COPYING file in the top-level directory.
14 #ifndef QEMU_GLIB_COMPAT_H
15 #define QEMU_GLIB_COMPAT_H
19 #if !GLIB_CHECK_VERSION(2, 14, 0)
20 static inline guint
g_timeout_add_seconds(guint interval
, GSourceFunc function
,
23 return g_timeout_add(interval
* 1000, function
, data
);
29 * g_poll has a problem on Windows when using
30 * timeouts < 10ms, so use wrapper.
32 #define g_poll(fds, nfds, timeout) g_poll_fixed(fds, nfds, timeout)
33 gint
g_poll_fixed(GPollFD
*fds
, guint nfds
, gint timeout
);
34 #elif !GLIB_CHECK_VERSION(2, 20, 0)
36 * Glib before 2.20.0 doesn't implement g_poll, so wrap it to compile properly
39 static inline gint
g_poll(GPollFD
*fds
, guint nfds
, gint timeout
)
41 GMainContext
*ctx
= g_main_context_default();
42 return g_main_context_get_poll_func(ctx
)(fds
, nfds
, timeout
);