Mercurial > dovecot > core-2.2
changeset 15711:e62a7ca7d1f2
fts-solr: Free the solr_connection at exit.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 01 Feb 2013 02:18:54 +0200 |
parents | c5230b8ffd40 |
children | 78bdcb6642c7 |
files | src/plugins/fts-solr/fts-backend-solr-old.c src/plugins/fts-solr/fts-backend-solr.c |
diffstat | 2 files changed, 16 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/fts-solr/fts-backend-solr-old.c Fri Feb 01 01:39:41 2013 +0200 +++ b/src/plugins/fts-solr/fts-backend-solr-old.c Fri Feb 01 02:18:54 2013 +0200 @@ -225,6 +225,11 @@ return &backend->backend; } +static void fts_backend_solr_connection_deinit(void) +{ + solr_connection_deinit(solr_conn); +} + static int fts_backend_solr_init(struct fts_backend *_backend, const char **error_r ATTR_UNUSED) @@ -234,8 +239,10 @@ const struct fts_solr_settings *set = &fuser->set; const char *str; - if (solr_conn == NULL) + if (solr_conn == NULL) { solr_conn = solr_connection_init(set->url, set->debug); + lib_atexit(fts_backend_solr_connection_deinit); + } str = solr_escape_id_str(_backend->ns->user->username); backend->id_username = i_strdup(str);
--- a/src/plugins/fts-solr/fts-backend-solr.c Fri Feb 01 01:39:41 2013 +0200 +++ b/src/plugins/fts-solr/fts-backend-solr.c Fri Feb 01 02:18:54 2013 +0200 @@ -150,6 +150,11 @@ return &backend->backend; } +static void fts_backend_solr_connection_deinit(void) +{ + solr_connection_deinit(solr_conn); +} + static int fts_backend_solr_init(struct fts_backend *_backend, const char **error_r ATTR_UNUSED) @@ -157,8 +162,10 @@ struct fts_solr_user *fuser = FTS_SOLR_USER_CONTEXT(_backend->ns->user); const struct fts_solr_settings *set = &fuser->set; - if (solr_conn == NULL) + if (solr_conn == NULL) { solr_conn = solr_connection_init(set->url, set->debug); + lib_atexit(fts_backend_solr_connection_deinit); + } return 0; }