]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts: fts_backend_init() - Add event parameter
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 18 Mar 2024 21:45:59 +0000 (23:45 +0200)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Wed, 12 Feb 2025 10:34:12 +0000 (12:34 +0200)
src/plugins/fts/fts-api.c
src/plugins/fts/fts-api.h
src/plugins/fts/fts-storage.c

index 6db3891ae42cd4f0cb432b649f4396eb0fc7f28b..5abc561cb94c1539dcaae2c54222ba9691e403fa 100644 (file)
@@ -77,7 +77,8 @@ fts_header_filters_deinit(struct fts_backend *backend)
 }
 
 int fts_backend_init(const char *backend_name, struct mail_namespace *ns,
-                    const char **error_r, struct fts_backend **backend_r)
+                    struct event *event, const char **error_r,
+                    struct fts_backend **backend_r)
 {
        const struct fts_backend *be;
        struct fts_backend *backend;
@@ -90,16 +91,17 @@ int fts_backend_init(const char *backend_name, struct mail_namespace *ns,
 
        backend = be->v.alloc();
        backend->ns = ns;
+       backend->event = event_create(event);
+       event_add_category(backend->event, &event_category_fts);
+       event_set_append_log_prefix(backend->event, t_strdup_printf(
+               "fts-%s: ", backend->name));
+
        if (backend->v.init(backend, error_r) < 0) {
+               event_unref(&backend->event);
                backend->v.deinit(backend);
                return -1;
        }
 
-       backend->event = event_create(mailbox_list_get_event(ns->list));
-       event_add_category(backend->event, &event_category_fts);
-       event_set_append_log_prefix(backend->event, t_strdup_printf(
-               "fts-%s: ", backend->name));
-
        fts_header_filters_init(backend);
        *backend_r = backend;
        return 0;
index 270b88ed871026d3177deaa43948e847a6e6fc7c..6fb636510f86822ab135e9d7e2c7e6f585e38b53 100644 (file)
@@ -91,7 +91,8 @@ struct fts_multi_result {
 extern struct event_category event_category_fts;
 
 int fts_backend_init(const char *backend_name, struct mail_namespace *ns,
-                    const char **error_r, struct fts_backend **backend_r);
+                    struct event *event, const char **error_r,
+                    struct fts_backend **backend_r);
 void fts_backend_deinit(struct fts_backend **backend);
 
 /* Get the last_uid for the mailbox. */
index a3f98c733650f0ca19c262c6fd6c7e4c9afc8db7..bc0134eba19cebb290726c2a7a909bf8910d4ee2 100644 (file)
@@ -871,7 +871,8 @@ fts_init_namespace(struct fts_mailbox_list *flist, struct mail_namespace *ns)
        } else if (set->driver[0] == '\0') {
                e_debug(ns->list->event,
                        "fts: No fts_driver setting - plugin disabled");
-       } else if (fts_backend_init(set->driver, ns, &error, &backend) < 0) {
+       } else if (fts_backend_init(set->driver, ns, ns->list->event,
+                                   &error, &backend) < 0) {
                flist->failed = TRUE;
                e_error(ns->list->event,
                        "fts: Failed to initialize backend '%s': %s",