]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts-solr: Deinit solr connection at plugin unload.
authorTimo Sirainen <tss@iki.fi>
Sat, 2 Feb 2013 14:52:23 +0000 (16:52 +0200)
committerTimo Sirainen <tss@iki.fi>
Sat, 2 Feb 2013 14:52:23 +0000 (16:52 +0200)
src/plugins/fts-solr/fts-backend-solr-old.c
src/plugins/fts-solr/fts-backend-solr.c
src/plugins/fts-solr/fts-solr-plugin.c
src/plugins/fts-solr/fts-solr-plugin.h

index c8afb693eacf29187a9a57da0db7dddac4485179..4e5fe214e18ec99b69fa1f511b81483020e2f4ed 100644 (file)
@@ -40,8 +40,6 @@ struct solr_fts_backend_update_context {
        bool documents_added;
 };
 
-static struct solr_connection *solr_conn = NULL;
-
 static bool is_valid_xml_char(unichar_t chr)
 {
        /* Valid characters in XML:
index b24fd79d032ad970baeaef53192a24a2dc98b135..0ec0be920d10c75cbaab80ec25634f6650481134 100644 (file)
@@ -50,8 +50,6 @@ struct solr_fts_backend_update_context {
        unsigned int expunges:1;
 };
 
-static struct solr_connection *solr_conn = NULL;
-
 static bool is_valid_xml_char(unichar_t chr)
 {
        /* Valid characters in XML:
index 0fe5cf5744817bac75a6bf9f09a0b62fccbec59c..0674e9fc94552d3b3c15757389f7fdfe24e45c23 100644 (file)
@@ -9,6 +9,7 @@
 #include <stdlib.h>
 
 const char *fts_solr_plugin_version = DOVECOT_ABI_VERSION;
+struct solr_connection *solr_conn = NULL;
 
 struct fts_solr_user_module fts_solr_user_module =
        MODULE_CONTEXT_INIT(&mail_user_module_register);
@@ -82,6 +83,9 @@ void fts_solr_plugin_deinit(void)
        fts_backend_unregister(fts_backend_solr.name);
        fts_backend_unregister(fts_backend_solr_old.name);
        mail_storage_hooks_remove(&fts_solr_mail_storage_hooks);
+       if (solr_conn != NULL)
+               solr_connection_deinit(solr_conn);
+
 }
 
 const char *fts_solr_plugin_dependencies[] = { "fts", NULL };
index 4793abd5751340ee28132a78976940fe97b9d2df..69ce5e95ed9f842214bb49df80579471bd3f8fc1 100644 (file)
@@ -21,6 +21,7 @@ extern const char *fts_solr_plugin_dependencies[];
 extern struct fts_backend fts_backend_solr;
 extern struct fts_backend fts_backend_solr_old;
 extern MODULE_CONTEXT_DEFINE(fts_solr_user_module, &mail_user_module_register);
+extern struct solr_connection *solr_conn;
 
 void fts_solr_plugin_init(struct module *module);
 void fts_solr_plugin_deinit(void);