diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2002-10-30 12:07:49 +0000 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2002-10-30 12:07:49 +0000 |
commit | 04d21551e17a871f3d71d0bc66b9a8d25cecc2fb (patch) | |
tree | a82ab9b184e11ab953dec80929fce8509d18714c /source3 | |
parent | 809f740166e4c71e7b7027c626336d1e4c58f485 (diff) | |
download | samba-04d21551e17a871f3d71d0bc66b9a8d25cecc2fb.tar.gz samba-04d21551e17a871f3d71d0bc66b9a8d25cecc2fb.tar.bz2 samba-04d21551e17a871f3d71d0bc66b9a8d25cecc2fb.zip |
- Remove RTLD_GLOBAL
- make smb_load_module() return the return value of init_module()
(This used to be commit a8d2dd8d009797486105188f8fdb898a65bb25b0)
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/smb.h | 2 | ||||
-rw-r--r-- | source3/lib/module.c | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h index 65a75420fc..42b8113e59 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -1698,6 +1698,6 @@ extern struct poptOption popt_common_debug[]; extern struct poptOption popt_common_configfile[]; /* Module support */ -typedef int (init_module_function) (void); +typedef NTSTATUS (init_module_function) (void); #endif /* _SMB_H */ diff --git a/source3/lib/module.c b/source3/lib/module.c index e4d22e0bb7..0953f53ad3 100644 --- a/source3/lib/module.c +++ b/source3/lib/module.c @@ -26,12 +26,13 @@ NTSTATUS smb_load_module(const char *module_name) { void *handle; init_module_function *init; + NTSTATUS nt_status; /* Always try to use LAZY symbol resolving; if the plugin has * backwards compatibility, there might be symbols in the * plugin referencing to old (removed) functions */ - handle = dlopen(module_name, RTLD_LAZY | RTLD_GLOBAL); + handle = dlopen(module_name, RTLD_LAZY); if(!handle) { DEBUG(0, ("Error loading module '%s': %s\n", module_name, sys_dlerror())); @@ -45,11 +46,11 @@ NTSTATUS smb_load_module(const char *module_name) return NT_STATUS_UNSUCCESSFUL; } - init(); + nt_status = init(); DEBUG(2, ("Module '%s' loaded\n", module_name)); - return NT_STATUS_OK; + return nt_status; } #else /* HAVE_DLOPEN */ |