g_async_queue_timeout_pop() appeared in glib 2.31.18. Implement it as
g_async_queue_timed_pop() with a GTimeVal as the final time to wait for
new data to arrive in the queue.
#define g_cond_wait(cond, mutex) g_compat_cond_wait(cond, mutex)
#endif
+#if !GLIB_CHECK_VERSION(2,31,18)
+static inline gpointer
+g_async_queue_timeout_pop(GAsyncQueue *queue, guint64 timeout)
+{
+ GTimeVal end_time;
+
+ g_get_current_time(&end_time);
+ g_time_val_add(&end_time, timeout);
+ return g_async_queue_timed_pop(queue, &end_time);
+}
+#endif
+
#undef G_COMPAT_DEFINE
#endif /* GLIB_COMPAT_H */