From: Quanah Gibson-Mount Date: Tue, 24 Mar 2009 19:08:43 +0000 (+0000) Subject: ITS#6030 X-Git-Tag: OPENLDAP_REL_ENG_2_4_16~5 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=68b33465602d15a4d9ecefffe0c9482717606629;p=openldap ITS#6030 --- diff --git a/CHANGES b/CHANGES index 8278466aa8..e8b136a3bc 100644 --- a/CHANGES +++ b/CHANGES @@ -10,6 +10,7 @@ OpenLDAP 2.4.16 Release (2009/03/20) Fixed slapd backglue with empty DBs (ITS#5986) Fixed slapd ctxcsn race condition (ITS#6001) Fixed slapd debug message (ITS#6027) + Fixed slapd redundant module loading (ITS#6030) Fixed slapd syncrepl newCookie sync messages (ITS#5972) Fixed slapd syncrepl hang during shutdown (ITS#6011) Fixed slapd syncrepl too many MMR messages (ITS#6020) diff --git a/servers/slapd/module.c b/servers/slapd/module.c index 25f5f3ae92..a09da6a8b6 100644 --- a/servers/slapd/module.c +++ b/servers/slapd/module.c @@ -119,7 +119,7 @@ int module_unload( const char *file_name ) int module_load(const char* file_name, int argc, char *argv[]) { - module_loaded_t *module = NULL; + module_loaded_t *module; const char *error; int rc; MODULE_INIT_FN initialize; @@ -129,6 +129,13 @@ int module_load(const char* file_name, int argc, char *argv[]) #define file file_name #endif + module = module_handle( file_name ); + if ( module ) { + Debug( LDAP_DEBUG_ANY, "module_load: (%s) already loaded\n", + file_name, 0, 0 ); + return -1; + } + module = (module_loaded_t *)ch_calloc(1, sizeof(module_loaded_t) + strlen(file_name)); if (module == NULL) {