From: Timo Sirainen Date: Fri, 13 Mar 2009 19:19:13 +0000 (-0400) Subject: master: Fixes to core dump log message writing. X-Git-Tag: 1.2.beta2~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=24e42e3e015027c0a1faa975671f3c3f31a4f1ba;p=thirdparty%2Fdovecot%2Fcore.git master: Fixes to core dump log message writing. --HG-- branch : HEAD --- diff --git a/src/master/child-process.c b/src/master/child-process.c index 2202a9f6a7..642ed3d8a1 100644 --- a/src/master/child-process.c +++ b/src/master/child-process.c @@ -142,19 +142,33 @@ log_coredump(string_t *str, enum process_type process_type, int status) return; /* let's try to figure out why we didn't get a core dump */ - if (process_type == PROCESS_TYPE_LOGIN) + if (core_dumps_disabled) { + str_printfa(str, " (core dumps disabled)"); + return; + } + + switch (process_type) { + case PROCESS_TYPE_LOGIN: +#ifdef HAVE_PR_SET_DUMPABLE str_append(str, " (core not dumped - add -D to login_executable)"); - else if (process_type != PROCESS_TYPE_IMAP && - process_type != PROCESS_TYPE_POP3) - str_append(str, " (core not dumped)"); + return; +#else + break; +#endif + case PROCESS_TYPE_IMAP: + case PROCESS_TYPE_POP3: #ifndef HAVE_PR_SET_DUMPABLE - else if (!settings_root->defaults->mail_drop_priv_before_exec) - str_append(str, " (core not dumped - set mail_drop_priv_before_exec=yes)"); + if (!settings_root->defaults->mail_drop_priv_before_exec) { + str_append(str, " (core not dumped - set mail_drop_priv_before_exec=yes)"); + return; + } #endif - else if (core_dumps_disabled) - str_printfa(str, " (core dumps disabled)"); - else str_append(str, " (core not dumped - is home dir set?)"); + return; + default: + break; + } + str_append(str, " (core not dumped)"); #endif }