hash_remove(clients, client);
- imap_parser_destroy(client->parser);
- client->parser = NULL;
-
i_stream_close(client->input);
o_stream_close(client->output);
if (--client->refcount > 0)
return TRUE;
+ imap_parser_destroy(client->parser);
+
i_stream_unref(client->input);
o_stream_unref(client->output);
}
closing_down = TRUE;
- if (!is_inetd)
- master_notify_finished();
+ master_notify_finished();
}
static void sig_quit(int signo __attr_unused__)
ssl_proxy_deinit();
+ auth_connection_deinit();
clients_deinit();
master_deinit();
- auth_connection_deinit();
closelog();
}
}
master_init(master_fd, FALSE);
+ closing_down = TRUE;
}
- main_close_listen();
-
if (fd != -1)
(void)client_create(fd, &ip, TRUE);