summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2013-11-08 13:57:18 +0100
committerLennart Poettering <lennart@poettering.net>2013-11-08 14:07:27 +0100
commit9d458c0902cdc5d993fd2f78d36fb83a8130c81b (patch)
tree7d50bb0b12e8481c4f1083608da68d26d718142c
parentcbc9fbd131b485f529715f13bdb2a82f1562d42c (diff)
clients: fix some signal handler issues
-rw-r--r--src/activate/activate.c2
-rw-r--r--src/udev/udevadm-monitor.c4
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);