From: Matthias Bolte Date: Fri, 3 Jun 2011 08:20:49 +0000 (+0200) Subject: Make dlopen usage in lock manager conditional X-Git-Tag: v0.9.2~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6b5c589d84565890403028a6df95c985994f2ec6;p=thirdparty%2Flibvirt.git Make dlopen usage in lock manager conditional This fixes a build failure on MinGW, due to MinGW not supporting dlopen. --- diff --git a/src/locking/lock_manager.c b/src/locking/lock_manager.c index 138cc91997..e97c738d7c 100644 --- a/src/locking/lock_manager.c +++ b/src/locking/lock_manager.c @@ -29,7 +29,9 @@ #include "memory.h" #include "uuid.h" -#include +#if HAVE_DLFCN_H +# include +#endif #include #include @@ -115,6 +117,7 @@ static void virLockManagerLogParams(size_t nparams, * * Returns a plugin object, or NULL if loading failed. */ +#if HAVE_DLFCN_H virLockManagerPluginPtr virLockManagerPluginNew(const char *name, unsigned int flags) { @@ -188,6 +191,15 @@ cleanup: dlclose(handle); return NULL; } +#else /* !HAVE_DLFCN_H */ +virLockManagerPluginPtr virLockManagerPluginNew(const char *name ATTRIBUTE_UNUSED, + unsigned int flags ATTRIBUTE_UNUSED) +{ + virLockError(VIR_ERR_INTERNAL_ERROR, "%s", + _("this platform is missing dlopen")); + return NULL; +} +#endif /* !HAVE_DLFCN_H */ /** @@ -212,6 +224,7 @@ void virLockManagerPluginRef(virLockManagerPluginPtr plugin) * result in an unsafe scenario. * */ +#if HAVE_DLFCN_H void virLockManagerPluginUnref(virLockManagerPluginPtr plugin) { if (!plugin) @@ -233,6 +246,11 @@ void virLockManagerPluginUnref(virLockManagerPluginPtr plugin) VIR_FREE(plugin->name); VIR_FREE(plugin); } +#else /* !HAVE_DLFCN_H */ +void virLockManagerPluginUnref(virLockManagerPluginPtr plugin ATTRIBUTE_UNUSED) +{ +} +#endif /* !HAVE_DLFCN_H */ const char *virLockManagerPluginGetName(virLockManagerPluginPtr plugin)