From 5cd40fe845ddb921ed0689693a14f9d6cc434563 Mon Sep 17 00:00:00 2001 From: Thomas Orozco Date: Sat, 28 Feb 2015 18:19:39 -0500 Subject: [PATCH] Catch errors in kill --- tini.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tini.c b/tini.c index 6d1f5dd..e9d664c 100644 --- a/tini.c +++ b/tini.c @@ -152,7 +152,14 @@ int wait_and_forward_signal(sigset_t const* const parent_sigset_ptr, pid_t const default: PRINT_DEBUG("Passing signal: '%s'", strsignal(sig.si_signo)); /* Forward anything else */ - kill(child_pid, sig.si_signo); // TODO - Check retcode! + if (kill(child_pid, sig.si_signo)) { + if (errno == ESRCH) { + PRINT_WARNING("Child was dead when forwarding signal"); + } else { + PRINT_FATAL("Unexpected error when forwarding signal: '%s'", strerror(errno)); + return 1; + } + } break; } }