]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imap: Delay initializing client IO until client_create_finish()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 24 Aug 2020 16:10:10 +0000 (19:10 +0300)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 4 Jan 2021 22:59:38 +0000 (00:59 +0200)
This helps writing unit tests.

src/imap/imap-client.c

index 95e57dbf53c38e00ba0ae3106baa0b10b5d75e3c..c8ffeafc4324f009c7d75c2e38ea71814b1af003 100644 (file)
@@ -143,7 +143,6 @@ struct client *client_create(int fd_in, int fd_out,
        o_stream_set_flush_callback(client->output, client_output, client);
 
        p_array_init(&client->module_contexts, client->pool, 5);
-       client->io = io_add_istream(client->input, client_input, client);
         client->last_input = ioloop_time;
        client->to_idle = timeout_add(CLIENT_IDLE_TIMEOUT_MSECS,
                                      client_idle_timeout, client);
@@ -228,6 +227,7 @@ int client_create_finish(struct client *client, const char **error_r)
                return -1;
        mail_namespaces_set_storage_callbacks(client->user->namespaces,
                                              &mail_storage_callbacks, client);
+       client->io = io_add_istream(client->input, client_input, client);
 
        client->v.init(client);
        return 0;