diff src/master/dict-process.c @ 9002:9d0037a997f4 HEAD

Initial commit for config rewrite.
author Timo Sirainen <tss@iki.fi>
date Tue, 27 Jan 2009 18:21:53 -0500
parents 0e9b885bd29e
children 21d4363a3cf7
line wrap: on
line diff
--- a/src/master/dict-process.c	Mon Jan 26 19:17:54 2009 -0500
+++ b/src/master/dict-process.c	Tue Jan 27 18:21:53 2009 -0500
@@ -94,17 +94,17 @@
 	for (i = 0; i <= 3; i++)
 		fd_close_on_exec(i, FALSE);
 
-	child_process_init_env();
+	child_process_init_env(master_set->defaults);
 	env_put(t_strconcat("DICT_LISTEN_FROM_FD=",
 			    process->listener->path, NULL));
 
-	if (settings_root->defaults->dict_db_config != NULL) {
+	if (master_set->defaults->dict_db_config != NULL) {
 		env_put(t_strconcat("DB_CONFIG=",
-				    settings_root->defaults->dict_db_config,
+				    master_set->defaults->dict_db_config,
 				    NULL));
 	}
 
-	dicts = array_get(&settings_root->dicts, &count);
+	dicts = array_get(&master_set->defaults->dicts, &count);
 	i_assert((count % 2) == 0);
 	for (i = 0; i < count; i += 2)
 		env_put(t_strdup_printf("DICT_%s=%s", dicts[i], dicts[i+1]));
@@ -146,14 +146,16 @@
 
 static void dict_listener_input(struct dict_listener *listener)
 {
-	unsigned int i;
+	unsigned int i = 0;
 	int fd;
 
 	i_assert(listener->processes == NULL);
 
-	for (i = 0; i < settings_root->defaults->dict_process_count; i++) {
-		if (dict_process_create(listener) < 0)
-			break;
+	if (array_is_created(&master_set->defaults->dicts)) {
+		for (i = 0; i < master_set->defaults->dict_process_count; i++) {
+			if (dict_process_create(listener) < 0)
+				break;
+		}
 	}
 	if (i > 0)
 		io_remove(&listener->io);
@@ -220,7 +222,7 @@
 {
 	const char *path;
 
-	path = t_strconcat(settings_root->defaults->base_dir,
+	path = t_strconcat(master_set->defaults->base_dir,
 			   "/"DICT_SERVER_SOCKET_NAME, NULL);
 	dict_listener = dict_listener_init(path);