From: Vsevolod Stakhov Date: Wed, 25 Nov 2015 15:59:48 +0000 (+0000) Subject: Do not enable accept event with no handler X-Git-Tag: 1.1.0~480 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b7eec7adcde6199158f87d171a751ad59a6b4b0b;p=rspamd.git Do not enable accept event with no handler --- diff --git a/src/libserver/worker_util.c b/src/libserver/worker_util.c index b8b014a90..c40c4f73f 100644 --- a/src/libserver/worker_util.c +++ b/src/libserver/worker_util.c @@ -250,19 +250,21 @@ rspamd_prepare_worker (struct rspamd_worker *worker, const char *name, rspamd_control_worker_add_default_handler (worker, ev_base); /* Accept all sockets */ - cur = worker->cf->listen_socks; - while (cur) { - listen_socket = GPOINTER_TO_INT (cur->data); - if (listen_socket != -1) { - accept_event = g_slice_alloc0 (sizeof (struct event)); - event_set (accept_event, listen_socket, EV_READ | EV_PERSIST, - accept_handler, worker); - event_base_set (ev_base, accept_event); - event_add (accept_event, NULL); - worker->accept_events = g_list_prepend (worker->accept_events, - accept_event); + if (accept_handler) { + cur = worker->cf->listen_socks; + while (cur) { + listen_socket = GPOINTER_TO_INT (cur->data); + if (listen_socket != -1) { + accept_event = g_slice_alloc0 (sizeof (struct event)); + event_set (accept_event, listen_socket, EV_READ | EV_PERSIST, + accept_handler, worker); + event_base_set (ev_base, accept_event); + event_add (accept_event, NULL); + worker->accept_events = g_list_prepend (worker->accept_events, + accept_event); + } + cur = g_list_next (cur); } - cur = g_list_next (cur); } return ev_base;