* Server
*/
-void doveadm_http_server_init(void)
+void doveadm_http_server_init(struct event *event)
{
struct http_server_settings http_set = {
.rawlog_dir = doveadm_settings->doveadm_http_rawlog_dir,
};
- doveadm_http_server = http_server_init(&http_set);
+ doveadm_http_server = http_server_init(&http_set, event);
}
void doveadm_http_server_deinit(void)
void client_connection_set_proctitle(struct client_connection *conn,
const char *text);
-void doveadm_http_server_init(void);
+void doveadm_http_server_init(struct event *event);
void doveadm_http_server_deinit(void);
-void doveadm_server_init(void);
+void doveadm_server_init(struct event *event);
void doveadm_server_deinit(void);
#endif
process_title_set(str);
}
-void doveadm_server_init(void)
+void doveadm_server_init(struct event *event)
{
- doveadm_http_server_init();
+ doveadm_http_server_init(event);
}
void doveadm_server_deinit(void)
mail_plugins have been loaded. */
doveadm_load_modules();
- doveadm_server_init();
+ doveadm_server_init(master_service_get_event(master_service));
if (doveadm_verbose_proctitle)
process_title_set("[idling]");
}
* Server
*/
-struct http_server *http_server_init(const struct http_server_settings *set)
+struct http_server *http_server_init(const struct http_server_settings *set,
+ struct event *event_parent)
{
struct http_server *server;
pool_t pool;
server->set.socket_recv_buffer_size = set->socket_recv_buffer_size;
server->set.debug = set->debug;
- server->event = event_create(set->event);
+ server->event = event_create(event_parent);
event_add_category(server->event, &event_category_http_server);
event_set_forced_debug(server->event, set->debug);
event_set_append_log_prefix(server->event, "http-server: ");
size_t socket_send_buffer_size;
size_t socket_recv_buffer_size;
- /* Event to use for the http server. */
- struct event *event;
-
/* Enable logging debug messages */
bool debug;
};
* Server
*/
-struct http_server *http_server_init(const struct http_server_settings *set);
+struct http_server *http_server_init(const struct http_server_settings *set,
+ struct event *event_parent);
void http_server_deinit(struct http_server **_server);
/* Shut down the server; accept no new requests and drop connections once
/* open server socket */
io_listen = io_add(fd_listen, IO_READ, client_accept, NULL);
- http_server = http_server_init(server_set);
+ http_server = http_server_init(server_set, server_event);
http_server->conn_list->v.init = test_http_server_connection_init;
}
static void test_server_run(const struct http_server_settings *http_set)
{
struct timeout *to;
+ struct event *event = event_create(NULL);
to = timeout_add(SERVER_MAX_TIMEOUT_MSECS, test_server_timeout, NULL);
/* open server socket */
io_listen = io_add(fd_listen, IO_READ, server_connection_accept, NULL);
- http_server = http_server_init(http_set);
+ http_server = http_server_init(http_set, event);
io_loop_run(ioloop);
timeout_remove(&to);
http_server_deinit(&http_server);
+ event_unref(&event);
}
/*
http_set.debug = debug;
ioloop = io_loop_create();
+ struct event *event = event_create(NULL);
- http_server = http_server_init(&http_set);
+ http_server = http_server_init(&http_set, event);
lib_signals_init();
lib_signals_ignore(SIGPIPE, TRUE);
clients_destroy_all(); /* just an example; avoid doing this */
http_server_deinit(&http_server);
+ event_unref(&event);
lib_signals_deinit();
io_loop_destroy(&ioloop);
lib_deinit();
* Server
*/
-void client_http_init(const struct stats_settings *set)
+void client_http_init(const struct stats_settings *set, struct event *event)
{
struct http_server_settings http_set = {
.rawlog_dir = set->stats_http_rawlog_dir,
i_array_init(&stats_http_resources, 8);
- stats_http_server = http_server_init(&http_set);
+ stats_http_server = http_server_init(&http_set, event);
stats_http_resource_add("/", NULL,
stats_http_resource_root_request, NULL);
}
typeof(context), struct http_server_request *req, \
const char *sub_path))))
-void client_http_init(const struct stats_settings *set);
+void client_http_init(const struct stats_settings *set, struct event *event);
void client_http_deinit(void);
#endif
stats_event_categories_init();
client_readers_init();
client_writers_init();
- client_http_init(stats_settings);
+ client_http_init(stats_settings,
+ master_service_get_event(master_service));
stats_services_init();
}