diff options
author | Lennart Poettering <lennart@poettering.net> | 2013-11-08 13:57:18 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2013-11-08 14:07:27 +0100 |
commit | 9d458c0902cdc5d993fd2f78d36fb83a8130c81b (patch) | |
tree | 7d50bb0b12e8481c4f1083608da68d26d718142c | |
parent | cbc9fbd131b485f529715f13bdb2a82f1562d42c (diff) |
clients: fix some signal handler issues
-rw-r--r-- | src/activate/activate.c | 2 | ||||
-rw-r--r-- | 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 3198f7de98..07e46b9691 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 a390ee6c34..4d6af49b96 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); |