From: "Daniel P. Berrange" <berrange@xxxxxxxxxx> --- libvirt-glib/libvirt-glib-event.c | 4 ++++ libvirt-glib/libvirt-glib-main.c | 4 ++++ libvirt-gobject/libvirt-gobject-compat.h | 5 +++++ libvirt-gobject/libvirt-gobject-manager.c | 1 + 4 files changed, 14 insertions(+), 0 deletions(-) diff --git a/libvirt-glib/libvirt-glib-event.c b/libvirt-glib/libvirt-glib-event.c index c1761e8..6d54b10 100644 --- a/libvirt-glib/libvirt-glib-event.c +++ b/libvirt-glib/libvirt-glib-event.c @@ -31,6 +31,10 @@ #include "libvirt-glib/libvirt-glib.h" +#if GLIB_CHECK_VERSION(2, 31, 0) +#define g_mutex_new() g_new0(GMutex, 1) +#endif + struct gvir_event_handle { int watch; diff --git a/libvirt-glib/libvirt-glib-main.c b/libvirt-glib/libvirt-glib-main.c index 8f50cc8..0cb2dd5 100644 --- a/libvirt-glib/libvirt-glib-main.c +++ b/libvirt-glib/libvirt-glib-main.c @@ -63,8 +63,12 @@ gboolean gvir_init_check(int *argc G_GNUC_UNUSED, GError **err G_GNUC_UNUSED) { virSetErrorFunc(NULL, gvir_error_func); + + /* Threading is always enabled from 2.31.0 onwards */ +#if !GLIB_CHECK_VERSION(2, 31, 0) if (!g_thread_supported()) g_thread_init(NULL); +#endif virInitialize(); diff --git a/libvirt-gobject/libvirt-gobject-compat.h b/libvirt-gobject/libvirt-gobject-compat.h index 0c37537..839dfe1 100644 --- a/libvirt-gobject/libvirt-gobject-compat.h +++ b/libvirt-gobject/libvirt-gobject-compat.h @@ -26,6 +26,11 @@ #include <glib-object.h> #include <gio/gio.h> +#if GLIB_CHECK_VERSION(2, 31, 0) +#define g_mutex_new() g_new0(GMutex, 1) +#define g_mutex_free(m) g_free(m) +#endif + #if !GLIB_CHECK_VERSION(2,26,0) #define G_DEFINE_BOXED_TYPE(TypeName, type_name, copy_func, free_func) G_DEFINE_BOXED_TYPE_WITH_CODE (TypeName, type_name, copy_func, free_func, {}) #define G_DEFINE_BOXED_TYPE_WITH_CODE(TypeName, type_name, copy_func, free_func, _C_) _G_DEFINE_BOXED_TYPE_BEGIN (TypeName, type_name, copy_func, free_func) {_C_;} _G_DEFINE_TYPE_EXTENDED_END() diff --git a/libvirt-gobject/libvirt-gobject-manager.c b/libvirt-gobject/libvirt-gobject-manager.c index aef519f..da5d31d 100644 --- a/libvirt-gobject/libvirt-gobject-manager.c +++ b/libvirt-gobject/libvirt-gobject-manager.c @@ -28,6 +28,7 @@ #include "libvirt-glib/libvirt-glib.h" #include "libvirt-gobject/libvirt-gobject.h" +#include "libvirt-gobject/libvirt-gobject-compat.h" #define GVIR_MANAGER_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_TYPE_MANAGER, GVirManagerPrivate)) -- 1.7.7.6 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list