]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
indexer-worker: Register indexing session to anvil
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 31 Jan 2022 21:51:43 +0000 (22:51 +0100)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Sun, 13 Feb 2022 10:23:26 +0000 (10:23 +0000)
src/indexer/master-connection.c

index c15bbcb3a2504cc589fc27d4d7b01b555e9d1b22..f4b1cf5e0829034bb21286582a1e42633bcd991c 100644 (file)
@@ -273,6 +273,14 @@ master_connection_cmd_index(struct master_connection *conn,
                return -1;
        }
 
+       struct master_service_anvil_session anvil_session;
+       guid_128_t anvil_conn_guid;
+       bool anvil_sent = FALSE;
+       mail_user_get_anvil_session(user, &anvil_session);
+       if (master_service_anvil_connect(master_service, &anvil_session,
+                                        TRUE, anvil_conn_guid))
+               anvil_sent = TRUE;
+
        indexer_worker_refresh_proctitle(user->username, mailbox, 0, 0);
        struct event_reason *reason =
                event_reason_begin("indexer:index_mailbox");
@@ -283,6 +291,11 @@ master_connection_cmd_index(struct master_connection *conn,
        indexer_worker_refresh_proctitle(user->username, "(deinit)", 0, 0);
        mail_user_deinit(&user);
        mail_storage_service_user_unref(&service_user);
+
+       if (anvil_sent) {
+               master_service_anvil_disconnect(master_service, &anvil_session,
+                                               anvil_conn_guid);
+       }
        indexer_worker_refresh_proctitle(NULL, NULL, 0, 0);
        return ret;
 }