]> git.sur5r.net Git - openldap/commitdiff
ITS#6030 don't reload already loaded modules
authorHoward Chu <hyc@openldap.org>
Mon, 23 Mar 2009 11:38:24 +0000 (11:38 +0000)
committerHoward Chu <hyc@openldap.org>
Mon, 23 Mar 2009 11:38:24 +0000 (11:38 +0000)
servers/slapd/module.c

index 25f5f3ae92477321873ede44dab03aaf82740114..ae796d6c6979ca5fc160180bd5f3c9ba0a027d4b 100644 (file)
@@ -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,11 @@ int module_load(const char* file_name, int argc, char *argv[])
 #define        file    file_name
 #endif
 
+       /* silently ignore attempts to load a module that's already present */
+       module = module_handle( file_name );
+       if ( module )
+               return 0;
+
        module = (module_loaded_t *)ch_calloc(1, sizeof(module_loaded_t) +
                strlen(file_name));
        if (module == NULL) {