From 02392c7df4f6bc5cb71617e757c39dce0debd23b Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Thu, 4 Mar 2010 20:00:43 +0200 Subject: [PATCH] Don't call module's deinit() if its init() hasn't been called. --HG-- branch : HEAD --- src/lib/module-dir.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/module-dir.c b/src/lib/module-dir.c index 4497601abf..d88713fca6 100644 --- a/src/lib/module-dir.c +++ b/src/lib/module-dir.c @@ -56,7 +56,7 @@ static void *get_symbol(struct module *module, const char *symbol, bool quiet) static void module_free(struct module *module) { - if (module->deinit != NULL) + if (module->deinit != NULL && module->initialized) module->deinit(); if (dlclose(module->handle) != 0) i_error("dlclose(%s) failed: %m", module->path); @@ -361,9 +361,9 @@ void module_dir_deinit(struct module *modules) for (i = 0; i < count; i++) { module = rev[i]; - if (module->deinit != NULL) { + if (module->deinit != NULL && module->initialized) { module->deinit(); - module->deinit = NULL; + module->initialized = FALSE; } } } T_END; -- 2.47.3