From: Vsevolod Stakhov Date: Sun, 18 Oct 2015 10:24:12 +0000 (+0100) Subject: Delete signal events after events processing loop X-Git-Tag: 1.0.7~70 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a1ff4d1eca8578d3da6fbb7ede00e007e9a798d8;p=thirdparty%2Frspamd.git Delete signal events after events processing loop --- diff --git a/src/rspamd.c b/src/rspamd.c index bef6df0146..3609a3c5c3 100644 --- a/src/rspamd.c +++ b/src/rspamd.c @@ -1071,6 +1071,12 @@ main (gint argc, gchar **argv, gchar **env) /* We need to block signals unless children are waited for */ rspamd_worker_block_signals (); + event_del (&term_ev); + event_del (&int_ev); + event_del (&hup_ev); + event_del (&cld_ev); + event_del (&usr1_ev); + if (control_fd != -1) { event_del (&control_ev); close (control_fd); @@ -1091,13 +1097,13 @@ main (gint argc, gchar **argv, gchar **env) /* Wait for workers termination */ g_hash_table_foreach_remove (rspamd_main->workers, wait_for_workers, NULL); - event_del (&term_ev); event_set (&term_ev, -1, EV_TIMEOUT|EV_PERSIST, rspamd_final_term_handler, rspamd_main); event_base_set (ev_base, &term_ev); event_add (&term_ev, &term_tv); event_base_loop (ev_base, 0); + event_del (&term_ev); /* Maybe save roll history */ if (rspamd_main->cfg->history_file) {