summaryrefslogtreecommitdiffstats
path: root/src/rspamd.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2017-01-20 12:38:45 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2017-01-20 12:39:09 +0000
commit86f76528fa2b3c3603c649835bbc4d0a21ed0a4d (patch)
treecf0606bf90fd4689af317f03ee85fc7e49a0c04b /src/rspamd.c
parent08a441f3b5b1ee1ba02a999a552e54725ad1138a (diff)
downloadrspamd-86f76528fa2b3c3603c649835bbc4d0a21ed0a4d.tar.gz
rspamd-86f76528fa2b3c3603c649835bbc4d0a21ed0a4d.zip
[Fix] Do not leave parent-less workers processes on fatal errors
Diffstat (limited to 'src/rspamd.c')
-rw-r--r--src/rspamd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/rspamd.c b/src/rspamd.c
index 877ac00a5..44931dfda 100644
--- a/src/rspamd.c
+++ b/src/rspamd.c
@@ -588,6 +588,7 @@ spawn_workers (struct rspamd_main *rspamd_main, struct event_base *ev_base)
cf->listen_socks = g_list_concat (cf->listen_socks, ls);
}
}
+
if (listen_ok) {
spawn_worker_type (rspamd_main, ev_base, cf);
}
@@ -595,7 +596,8 @@ spawn_workers (struct rspamd_main *rspamd_main, struct event_base *ev_base)
msg_err_main ("cannot create listen socket for %s at %s",
g_quark_to_string (cf->type), cf->bind_conf->name);
- exit (EXIT_FAILURE);
+ rspamd_hard_terminate (rspamd_main);
+ g_assert_not_reached ();
}
}
else {