/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* See the file NOTICE for conditions of use and distribution. */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* The main function: entry point, initialization, and high-level control.
char ** ss;
int nptrs = backtrace(buf, STACKDUMP_MAX);
-log_write(0, LOG_MAIN|LOG_PANIC, "backtrace\n");
-log_write(0, LOG_MAIN|LOG_PANIC, "---\n");
+log_write(0, LOG_MAIN|LOG_PANIC, "backtrace");
+log_write(0, LOG_MAIN|LOG_PANIC, "---");
if ((ss = backtrace_symbols(buf, nptrs)))
{
for (int i = 0; i < nptrs; i++)
- log_write(0, LOG_MAIN|LOG_PANIC, "\t%s\n", ss[i]);
+ log_write(0, LOG_MAIN|LOG_PANIC, "\t%s", ss[i]);
free(ss);
}
else
- log_write(0, LOG_MAIN|LOG_PANIC, "backtrace_symbols: %s\n", strerror(errno));
-log_write(0, LOG_MAIN|LOG_PANIC, "---\n");
+ log_write(0, LOG_MAIN|LOG_PANIC, "backtrace_symbols: %s", strerror(errno));
+log_write(0, LOG_MAIN|LOG_PANIC, "---");
#endif
}
#undef STACKDUMP_MAX
va_list ap;
va_start(ap, fmt);
vfprintf(stderr, fmt, ap);
+va_end(ap);
exit(EXIT_FAILURE);
}
#if defined(__clang__)
g = string_fmt_append(g, "Compiler: CLang [%s]\n", __clang_version__);
#elif defined(__GNUC__)
- g = string_fmt_append(g, "Compiler: GCC [%s]\n",
# ifdef __VERSION__
- __VERSION__
+ g = string_fmt_append(g, "Compiler: GCC [%s]\n", __VERSION__);
# else
- "? unknown version ?"
+ g = string_fmt_append(g, "Compiler: GCC [%s]\n", "? unknown version ?";
# endif
- );
#else
g = string_cat(g, US"Compiler: <unknown>\n");
#endif
/* If running in a dockerized environment, the TERM signal is only
delegated to the PID 1 if we request it by setting an signal handler */
+
if (getpid() == 1) signal(SIGTERM, term_handler);
/* SIGHUP is used to get the daemon to reconfigure. It gets set as appropriate
case 'Y':
if (*argrest) badarg = TRUE;
- else notifier_socket = NULL;
+ else f.notifier_socket_en = FALSE;
break;
/* Unknown -o argument */