changeset 8823:fa0775526cf4 HEAD

master: Fixes to core dump log message writing.
author Timo Sirainen <tss@iki.fi>
date Fri, 13 Mar 2009 15:19:13 -0400
parents 978010934c02
children 00fae4dc9d46
files src/master/child-process.c
diffstat 1 files changed, 23 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/master/child-process.c	Fri Mar 13 15:12:23 2009 -0400
+++ b/src/master/child-process.c	Fri Mar 13 15:19:13 2009 -0400
@@ -142,19 +142,33 @@
 		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
 }