]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
module_dir_load*(): Added ignore_dlopen_errors flag.
authorTimo Sirainen <tss@iki.fi>
Mon, 8 Mar 2010 15:28:04 +0000 (17:28 +0200)
committerTimo Sirainen <tss@iki.fi>
Mon, 8 Mar 2010 15:28:04 +0000 (17:28 +0200)
--HG--
branch : HEAD

src/lib/module-dir.c
src/lib/module-dir.h

index d88713fca61bfd01fd8992d15c4dd2d0a28337e4..23e8afb8195c3851c8f1b9137e028df45411b4cf 100644 (file)
@@ -107,7 +107,8 @@ module_load(const char *path, const char *name,
 
        handle = dlopen(path, RTLD_GLOBAL | RTLD_NOW);
        if (handle == NULL) {
-               i_error("dlopen(%s) failed: %s", path, dlerror());
+               if (!set->ignore_dlopen_errors)
+                       i_error("dlopen(%s) failed: %s", path, dlerror());
                return NULL;
        }
 
index 9d19331713eaa1d0f642a138f17ff748c4711560..4a5553092148b88b2c65b9877797239bf4ccb67f 100644 (file)
@@ -10,6 +10,8 @@ struct module_dir_load_settings {
        unsigned int require_init_funcs:1;
        /* Enable debug logging */
        unsigned int debug:1;
+       /* If dlopen() fails for some modules, silently skip it. */
+       unsigned int ignore_dlopen_errors:1;
 };
 
 struct module {