From 9d458c0902cdc5d993fd2f78d36fb83a8130c81b Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 8 Nov 2013 13:57:18 +0100 Subject: [PATCH] clients: fix some signal handler issues --- src/activate/activate.c | 2 ++ src/udev/udevadm-monitor.c | 4 +--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/activate/activate.c b/src/activate/activate.c index 3198f7de9..07e46b969 100644 --- a/src/activate/activate.c +++ b/src/activate/activate.c @@ -262,6 +262,8 @@ static int do_accept(const char* name, char **argv, char **envp, int fd) { /* SIGCHLD handler. */ static void sigchld_hdl(int sig, siginfo_t *t, void *data) { + PROTECT_ERRNO; + log_info("Child %d died with code %d", t->si_pid, t->si_status); /* Wait for a dead child. */ waitpid(t->si_pid, NULL, 0); diff --git a/src/udev/udevadm-monitor.c b/src/udev/udevadm-monitor.c index a390ee6c3..4d6af49b9 100644 --- a/src/udev/udevadm-monitor.c +++ b/src/udev/udevadm-monitor.c @@ -66,7 +66,7 @@ static void print_device(struct udev_device *device, const char *source, int pro static int adm_monitor(struct udev *udev, int argc, char *argv[]) { - struct sigaction act; + struct sigaction act = {}; sigset_t mask; int option; bool prop = false; @@ -149,9 +149,7 @@ static int adm_monitor(struct udev *udev, int argc, char *argv[]) } /* set signal handlers */ - memset(&act, 0x00, sizeof(struct sigaction)); act.sa_handler = sig_handler; - sigemptyset(&act.sa_mask); act.sa_flags = SA_RESTART; sigaction(SIGINT, &act, NULL); sigaction(SIGTERM, &act, NULL); -- 2.30.2