[dovecot-cvs] dovecot/src/master auth-process.c,1.50,1.51 login-process.c,1.48,1.49

cras at procontrol.fi cras at procontrol.fi
Wed Dec 3 02:40:24 EET 2003


Update of /home/cvs/dovecot/src/master
In directory danu:/tmp/cvs-serv14047/master

Modified Files:
	auth-process.c login-process.c 
Log Message:
Changed hash_foreach() to iterator.



Index: auth-process.c
===================================================================
RCS file: /home/cvs/dovecot/src/master/auth-process.c,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -d -r1.50 -r1.51
--- auth-process.c	24 Aug 2003 07:37:41 -0000	1.50
+++ auth-process.c	3 Dec 2003 00:40:21 -0000	1.51
@@ -216,14 +216,10 @@
 	return p;
 }
 
-static void request_hash_destroy(void *key __attr_unused__,
-				 void *value, void *context __attr_unused__)
-{
-	auth_master_callback(NULL, NULL, value);
-}
-
 static void auth_process_destroy(struct auth_process *p)
 {
+	struct hash_iterate_context *iter;
+	void *key, *value;
 	struct auth_process **pos;
 
 	if (!p->initialized && io_loop_is_running(ioloop)) {
@@ -239,7 +235,10 @@
 	}
 	p->group->process_count--;
 
-	hash_foreach(p->requests, request_hash_destroy, NULL);
+	iter = hash_iterate_init(p->requests);
+	while (hash_iterate(iter, &key, &value))
+		auth_master_callback(NULL, NULL, value);
+	hash_iterate_deinit(iter);
 	hash_destroy(p->requests);
 
 	i_stream_unref(p->input);

Index: login-process.c
===================================================================
RCS file: /home/cvs/dovecot/src/master/login-process.c,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -d -r1.48 -r1.49
--- login-process.c	24 Aug 2003 07:37:41 -0000	1.48
+++ login-process.c	3 Dec 2003 00:40:22 -0000	1.49
@@ -506,15 +506,15 @@
 		p->group->wanted_processes_count = 0;
 }
 
-static void login_hash_destroy(void *key __attr_unused__, void *value,
-			       void *context __attr_unused__)
-{
-	login_process_destroy(value);
-}
-
 void login_processes_destroy_all(void)
 {
-	hash_foreach(processes, login_hash_destroy, NULL);
+	struct hash_iterate_context *iter;
+	void *key, *value;
+
+	iter = hash_iterate_init(processes);
+	while (hash_iterate(iter, &key, &value))
+		login_process_destroy(value);
+	hash_iterate_deinit(iter);
 
 	while (login_groups != NULL) {
 		struct login_group *group = login_groups;



More information about the dovecot-cvs mailing list