From: Timo Sirainen Date: Wed, 3 Feb 2021 23:13:40 +0000 (+0200) Subject: fts-solr: solr-connection - Add parent event X-Git-Tag: 2.3.15~151 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0b1beeccb09e53b815c13fa62841611f08d6ffd9;p=thirdparty%2Fdovecot%2Fcore.git fts-solr: solr-connection - Add parent event --- diff --git a/src/plugins/fts-solr/fts-backend-solr-old.c b/src/plugins/fts-solr/fts-backend-solr-old.c index 842dad31a9..7d6fe4dae6 100644 --- a/src/plugins/fts-solr/fts-backend-solr-old.c +++ b/src/plugins/fts-solr/fts-backend-solr-old.c @@ -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; diff --git a/src/plugins/fts-solr/fts-backend-solr.c b/src/plugins/fts-solr/fts-backend-solr.c index 2bb83f81c4..bfc82b6c67 100644 --- a/src/plugins/fts-solr/fts-backend-solr.c +++ b/src/plugins/fts-solr/fts-backend-solr.c @@ -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); } diff --git a/src/plugins/fts-solr/solr-connection.c b/src/plugins/fts-solr/solr-connection.c index 582fe81043..87901eb17a 100644 --- a/src/plugins/fts-solr/solr-connection.c +++ b/src/plugins/fts-solr/solr-connection.c @@ -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); diff --git a/src/plugins/fts-solr/solr-connection.h b/src/plugins/fts-solr/solr-connection.h index 165f6b5eeb..ebad8be390 100644 --- a/src/plugins/fts-solr/solr-connection.h +++ b/src/plugins/fts-solr/solr-connection.h @@ -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);