]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts-solr: solr-connection - Add parent event
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 3 Feb 2021 23:13:40 +0000 (01:13 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Tue, 23 Mar 2021 07:40:58 +0000 (07:40 +0000)
src/plugins/fts-solr/fts-backend-solr-old.c
src/plugins/fts-solr/fts-backend-solr.c
src/plugins/fts-solr/solr-connection.c
src/plugins/fts-solr/solr-connection.h

index 842dad31a977c40742203f3676a366ec78cc93ea..7d6fe4dae6ab64898dbb86419cb845c3a9bbaf56 100644 (file)
@@ -257,6 +257,7 @@ fts_backend_solr_init(struct fts_backend *_backend, const char **error_r)
        mail_user_init_ssl_client_settings(_backend->ns->user, &ssl_set);
 
        if (solr_connection_init(&fuser->set, &ssl_set,
+                                _backend->ns->user->event,
                                 &backend->solr_conn, error_r) < 0)
                return -1;
 
index 2bb83f81c47b3f1fb705ced114ab17b4162bfaf4..bfc82b6c67c5c6f68b34f07bcccd18fbc3428236 100644 (file)
@@ -197,6 +197,7 @@ fts_backend_solr_init(struct fts_backend *_backend, const char **error_r)
        mail_user_init_ssl_client_settings(_backend->ns->user, &ssl_set);
 
        return solr_connection_init(&fuser->set, &ssl_set,
+                                   _backend->ns->user->event,
                                    &backend->solr_conn, error_r);
 }
 
index 582fe810437b849591338f551275fcbc634f724f..87901eb17a43d75b119f28a1353cf0c0372a6ba0 100644 (file)
@@ -35,6 +35,7 @@ struct solr_connection_post {
 };
 
 struct solr_connection {
+       struct event *event;
        char *http_host;
        in_port_t http_port;
        char *http_base_url;
@@ -63,6 +64,7 @@ static char *solr_connection_create_http_base_url(struct http_url *http_url)
 
 int solr_connection_init(const struct fts_solr_settings *solr_set,
                         const struct ssl_iostream_settings *ssl_client_set,
+                        struct event *event_parent,
                         struct solr_connection **conn_r, const char **error_r)
 {
        struct http_client_settings http_set;
@@ -78,6 +80,7 @@ int solr_connection_init(const struct fts_solr_settings *solr_set,
        }
 
        conn = i_new(struct solr_connection, 1);
+       conn->event = event_create(event_parent);
        conn->http_host = i_strdup(http_url->host.name);
        conn->http_port = http_url->port;
        conn->http_base_url = solr_connection_create_http_base_url(http_url);
@@ -122,6 +125,7 @@ void solr_connection_deinit(struct solr_connection **_conn)
        struct solr_connection *conn = *_conn;
 
        *_conn = NULL;
+       event_unref(&conn->event);
        i_free(conn->http_host);
        i_free(conn->http_base_url);
        i_free(conn->http_user);
index 165f6b5eeb5a7a22e8f89bd93945746057005603..ebad8be390fa744a8d91fd4df69c4fc50b0f66cb 100644 (file)
@@ -8,6 +8,7 @@ struct fts_solr_settings;
 
 int solr_connection_init(const struct fts_solr_settings *solr_set,
                         const struct ssl_iostream_settings *ssl_client_set,
+                        struct event *event_parent,
                         struct solr_connection **conn_r,
                         const char **error_r);
 void solr_connection_deinit(struct solr_connection **conn);