forked from enlightenment/enlightenment
module loading - use local symbols to avoid symbol table clashes
the mod init/shutdown syms already are bad infesting the global sym table. keep modules local/isolated and we'll be better off.
This commit is contained in:
parent
2e5be79c45
commit
757f7a7279
|
@ -392,7 +392,7 @@ e_module_new(const char *name)
|
||||||
m->error = 1;
|
m->error = 1;
|
||||||
goto init_done;
|
goto init_done;
|
||||||
}
|
}
|
||||||
m->handle = dlopen(modpath, (RTLD_NOW | RTLD_GLOBAL));
|
m->handle = dlopen(modpath, (RTLD_NOW | RTLD_LOCAL));
|
||||||
if (!m->handle)
|
if (!m->handle)
|
||||||
{
|
{
|
||||||
snprintf(body, sizeof(body),
|
snprintf(body, sizeof(body),
|
||||||
|
|
|
@ -71,7 +71,7 @@ e_modapi_init(E_Module *m)
|
||||||
else
|
else
|
||||||
snprintf(buf, sizeof(buf), "%s/%s/%s",
|
snprintf(buf, sizeof(buf), "%s/%s/%s",
|
||||||
e_module_dir_get(m), MODULE_ARCH, file);
|
e_module_dir_get(m), MODULE_ARCH, file);
|
||||||
handle = dlopen(buf, RTLD_NOW | RTLD_GLOBAL);
|
handle = dlopen(buf, RTLD_NOW | RTLD_LOCAL);
|
||||||
if (handle)
|
if (handle)
|
||||||
e_wizard_page_add(handle, file,
|
e_wizard_page_add(handle, file,
|
||||||
dlsym(handle, "wizard_page_init"),
|
dlsym(handle, "wizard_page_init"),
|
||||||
|
|
Loading…
Reference in New Issue