X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Fpazpar2_config.c;h=c6567bd2a090eff0f0d0cc9ff2e1d4ab52910f37;hb=646158a86d80e5ef0221ef7d7ce2cfc6ba31eacc;hp=0f5ab1aab4e2befcf445c3b1ff38f7284081f622;hpb=1d4ba7cec7de023ada9f6ae5459aada3c1b03e62;p=pazpar2-moved-to-github.git diff --git a/src/pazpar2_config.c b/src/pazpar2_config.c index 0f5ab1a..c6567bd 100644 --- a/src/pazpar2_config.c +++ b/src/pazpar2_config.c @@ -625,7 +625,6 @@ struct conf_service *service_create(struct conf_server *server, if (service) { inherit_server_settings(service); - resolve_databases(service); assert(service->mutex == 0); pazpar2_mutex_create(&service->mutex, "conf"); } @@ -650,7 +649,7 @@ static struct conf_server *server_create(struct conf_config *config, server->charsets = 0; server->http_server = 0; server->iochan_man = 0; - server->database_hosts = 0; + server->database_hosts = config->database_hosts; server->settings_fname = 0; if (server_id) @@ -888,7 +887,7 @@ struct conf_config *config_create(const char *fname, int verbose) config->servers = 0; config->no_threads = 0; config->iochan_man = 0; - config->database_hosts = 0; + config->database_hosts = database_hosts_create(); config->confdir = wrbuf_alloc(); if ((p = strrchr(fname, @@ -955,9 +954,8 @@ void config_destroy(struct conf_config *config) struct conf_server *s_next = server->next; server_destroy(server); server = s_next; + database_hosts_destroy(&config->database_hosts); } - database_hosts_destroy(&config->database_hosts); - wrbuf_destroy(config->confdir); nmem_destroy(config->nmem); } @@ -974,22 +972,18 @@ void config_process_events(struct conf_config *conf) { struct conf_server *ser; - conf->database_hosts = database_hosts_create(); for (ser = conf->servers; ser; ser = ser->next) { struct conf_service *s = ser->service; - ser->database_hosts = conf->database_hosts; - for (;s ; s = s->next) { - resolve_databases(s); assert(s->mutex == 0); pazpar2_mutex_create(&s->mutex, "service"); } http_mutex_init(ser); } - iochan_man_events(conf->iochan_man); + iochan_man_events(conf->iochan_man); } int config_start_listeners(struct conf_config *conf,