|
|
@@ -1028,12 +1028,19 @@ rspamd_cld_handler (gint signo, short what, gpointer arg) |
|
|
|
g_strsignal (WTERMSIG (res))); |
|
|
|
} |
|
|
|
else { |
|
|
|
struct rlimit rlmt; |
|
|
|
(void)getrlimit (RLIMIT_CORE, &rlmt); |
|
|
|
|
|
|
|
msg_warn_main ( |
|
|
|
"%s process %P terminated abnormally by signal: %s" |
|
|
|
" but NOT created core file", |
|
|
|
" but NOT created core file (throttled=%s); " |
|
|
|
"core file limits: %L current, %L max", |
|
|
|
g_quark_to_string (cur->type), |
|
|
|
cur->pid, |
|
|
|
g_strsignal (WTERMSIG (res))); |
|
|
|
g_strsignal (WTERMSIG (res)), |
|
|
|
cur->cores_throttled ? "yes" : "no", |
|
|
|
(gint64)rlmt.rlim_cur, |
|
|
|
(gint64)rlmt.rlim_max); |
|
|
|
} |
|
|
|
#else |
|
|
|
msg_warn_main ( |
|
|
@@ -1063,6 +1070,8 @@ rspamd_cld_handler (gint signo, short what, gpointer arg) |
|
|
|
if (need_refork) { |
|
|
|
/* Fork another worker in replace of dead one */ |
|
|
|
rspamd_check_core_limits (rspamd_main); |
|
|
|
|
|
|
|
|
|
|
|
rspamd_fork_delayed (cur->cf, cur->index, rspamd_main); |
|
|
|
} |
|
|
|
} |