From: Pekka Paalanen Date: Mon, 4 Nov 2019 12:07:51 +0000 (+0200) Subject: libweston: allow double-loading modules X-Git-Tag: upstream/9.0.0~263 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f696ee93375f1e678d992d6e7aa2aa0133289aea;p=platform%2Fupstream%2Fweston.git libweston: allow double-loading modules This is necessary for the test harness to be able to execute the compositor multiple times in the same process. As we never unload opened modules, the first compositor iteration will leave them all loaded and following compositor iterations will then have them already loaded. Signed-off-by: Pekka Paalanen --- diff --git a/libweston/compositor.c b/libweston/compositor.c index af0da062..72a2905e 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -7618,15 +7618,13 @@ weston_load_module(const char *name, const char *entrypoint) module = dlopen(path, RTLD_NOW | RTLD_NOLOAD); if (module) { weston_log("Module '%s' already loaded\n", path); - dlclose(module); - return NULL; - } - - weston_log("Loading module '%s'\n", path); - module = dlopen(path, RTLD_NOW); - if (!module) { - weston_log("Failed to load module: %s\n", dlerror()); - return NULL; + } else { + weston_log("Loading module '%s'\n", path); + module = dlopen(path, RTLD_NOW); + if (!module) { + weston_log("Failed to load module: %s\n", dlerror()); + return NULL; + } } init = dlsym(module, entrypoint);