o_stream_set_no_error_handling(client->output, TRUE);
o_stream_set_flush_callback(client->output, client_output, client);
- if (set->rawlog_dir[0] != '\0') {
- (void)iostream_rawlog_create(set->rawlog_dir, &client->input,
- &client->output);
- }
-
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);
return client;
}
+void client_create_finish(struct client *client)
+{
+ if (client->set->rawlog_dir[0] != '\0') {
+ (void)iostream_rawlog_create(client->set->rawlog_dir,
+ &client->input, &client->output);
+ }
+ client->io = io_add_istream(client->input, client_input, client);
+}
+
int client_init_mailbox(struct client *client, const char **error_r)
{
enum mailbox_flags flags;
struct mail_user *user,
struct mail_storage_service_user *service_user,
const struct pop3_settings *set);
+void client_create_finish(struct client *client);
int client_init_mailbox(struct client *client, const char **error_r);
void client_destroy(struct client *client, const char *reason) ATTR_NULL(2);