From: Jim Fehlig Date: Thu, 16 May 2013 14:42:21 +0000 (-0600) Subject: libxl: fix build with Xen4.3 X-Git-Tag: v1.0.6-rc1~136 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=43b0ff5b1eb7fbcdc348b2a53088a7db939d5e48;p=thirdparty%2Flibvirt.git libxl: fix build with Xen4.3 Xen 4.3 fixes a mistake in the libxl event handler signature where the event owned by the application was defined as const. Detect this and define the libvirt libxl event handler signature appropriately. --- diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index b39e0052ef..814856b204 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -697,10 +697,22 @@ libxlVmReap(libxlDriverPrivatePtr driver, } /* - * Handle previously registered event notification from libxenlight + * Handle previously registered event notification from libxenlight. + * + * Note: Xen 4.3 removed the const from the event handler signature. + * Detect which signature to use based on + * LIBXL_HAVE_NONCONST_EVENT_OCCURS_EVENT_ARG. */ + +#ifdef LIBXL_HAVE_NONCONST_EVENT_OCCURS_EVENT_ARG +# define VIR_LIBXL_EVENT_CONST /* empty */ +#else +# define VIR_LIBXL_EVENT_CONST const +#endif + static void -libxlEventHandler(void *data ATTRIBUTE_UNUSED, const libxl_event *event) +libxlEventHandler(void *data ATTRIBUTE_UNUSED, + VIR_LIBXL_EVENT_CONST libxl_event *event) { libxlDriverPrivatePtr driver = libxl_driver; virDomainObjPtr vm = NULL;