dovecot-2.0: module_dir_load*(): Added ignore_dlopen_errors flag.
dovecot at dovecot.org
dovecot at dovecot.org
Mon Mar 8 17:29:24 EET 2010
details: http://hg.dovecot.org/dovecot-2.0/rev/c9dc5c447db5
changeset: 10858:c9dc5c447db5
user: Timo Sirainen <tss at iki.fi>
date: Mon Mar 08 17:28:04 2010 +0200
description:
module_dir_load*(): Added ignore_dlopen_errors flag.
diffstat:
src/lib/module-dir.c | 3 ++-
src/lib/module-dir.h | 2 ++
2 files changed, 4 insertions(+), 1 deletions(-)
diffs (25 lines):
diff -r 02d4cc578d4b -r c9dc5c447db5 src/lib/module-dir.c
--- a/src/lib/module-dir.c Mon Mar 08 17:27:26 2010 +0200
+++ b/src/lib/module-dir.c Mon Mar 08 17:28:04 2010 +0200
@@ -107,7 +107,8 @@
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;
}
diff -r 02d4cc578d4b -r c9dc5c447db5 src/lib/module-dir.h
--- a/src/lib/module-dir.h Mon Mar 08 17:27:26 2010 +0200
+++ b/src/lib/module-dir.h Mon Mar 08 17:28:04 2010 +0200
@@ -10,6 +10,8 @@
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 {
More information about the dovecot-cvs
mailing list