[dovecot-cvs] dovecot/src/lib module-dir.c, 1.12, 1.13 module-dir.h, 1.4, 1.5

cras at dovecot.org cras at dovecot.org
Sun Feb 5 16:14:14 EET 2006


Update of /var/lib/cvs/dovecot/src/lib
In directory talvi:/tmp/cvs-serv3352

Modified Files:
	module-dir.c module-dir.h 
Log Message:
Added module_dir_deinit().



Index: module-dir.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib/module-dir.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- module-dir.c	14 Jan 2006 18:47:22 -0000	1.12
+++ module-dir.c	5 Feb 2006 14:14:12 -0000	1.13
@@ -187,6 +187,18 @@
 	return modules;
 }
 
+void module_dir_deinit(struct module *modules)
+{
+	struct module *module;
+
+	for (module = modules; module != NULL; module = module->next) {
+		if (module->deinit != NULL) {
+			module->deinit();
+			module->deinit = NULL;
+		}
+	}
+}
+
 void module_dir_unload(struct module **modules)
 {
 	struct module *module, *next;
@@ -208,7 +220,11 @@
 	return NULL;
 }
 
-void module_dir_unload(struct module *modules __attr_unused__)
+void module_dir_deinit(struct module *modules __attr_unused__)
+{
+}
+
+void module_dir_unload(struct module **modules __attr_unused__)
 {
 }
 

Index: module-dir.h
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib/module-dir.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- module-dir.h	14 Jan 2006 18:47:22 -0000	1.4
+++ module-dir.h	5 Feb 2006 14:14:12 -0000	1.5
@@ -12,6 +12,9 @@
 
 /* Load all modules in given directory. */
 struct module *module_dir_load(const char *dir, bool require_init_funcs);
+/* Call deinit() in all modules and mark them NULL so module_dir_unload()
+   won't do it again. */
+void module_dir_deinit(struct module *modules);
 /* Unload all modules */
 void module_dir_unload(struct module **modules);
 



More information about the dovecot-cvs mailing list