]> 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>
Fri, 6 Nov 2020 15:08:05 +0000 (17:08 +0200)
This helps writing unit tests.

src/imap/imap-client.c

index b37b829e131dc70740152ec2461d61ccc3803674..22443624fe6e536c6fed89e855c4131d6f7160e8 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;