From c2f277228ed93d3377c520fa75ba53e51c484254 Mon Sep 17 00:00:00 2001 From: Nedko Arnaudov Date: Sat, 6 Mar 2010 19:50:00 +0200 Subject: [PATCH] When app is killed by a "bad" signal, log it as error --- daemon/loader.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/daemon/loader.c b/daemon/loader.c index e1981f54..fd1eaca5 100644 --- a/daemon/loader.c +++ b/daemon/loader.c @@ -2,7 +2,7 @@ /* * LADI Session Handler (ladish) * - * Copyright (C) 2008, 2009 Nedko Arnaudov + * Copyright (C) 2008, 2009, 2010 Nedko Arnaudov * Copyright (C) 2008 Juuso Alasuutari * Copyright (C) 2002 Robert Ham * @@ -157,6 +157,7 @@ static void loader_sigchld_handler(int signum) int status; pid_t pid; struct loader_child *child_ptr; + int signal; while ((pid = waitpid(-1, &status, WNOHANG)) > 0) { @@ -177,7 +178,18 @@ static void loader_sigchld_handler(int signum) } else if (WIFSIGNALED(status)) { - log_info("Child was killed by signal %d", WTERMSIG(status)); + signal = WTERMSIG(status); + switch (signal) + { + case SIGILL: + case SIGABRT: + case SIGSEGV: + case SIGFPE: + log_error("Child was killed by signal %d", signal); + break; + default: + log_info("Child was killed by signal %d", signal); + } } else if (WIFSTOPPED(status)) {