diff mbox

[PULL,02/23] iohandler.c: Properly initialize sigaction struct

Message ID 1401088811-22923-3-git-send-email-mjt@msgid.tls.msk.ru
State Accepted
Commit aef553fdcabbea8760cd4647ab14859095300023
Headers show

Commit Message

Michael Tokarev May 26, 2014, 7:19 a.m. UTC
From: Peter Maydell <peter.maydell@linaro.org>

The code in qemu_init_child_watch() wasn't clearing the 'struct
sigaction' before passing it to sigaction(); this meant that we
would block a random set of signals while executing the SIGCHLD
handler. Initialize properly by using memset() on the struct,
as we do in similar cases elsewhere.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
---
 iohandler.c |    1 +
 1 file changed, 1 insertion(+)
diff mbox

Patch

diff --git a/iohandler.c b/iohandler.c
index ae2ef8f..cca614f 100644
--- a/iohandler.c
+++ b/iohandler.c
@@ -191,6 +191,7 @@  static void qemu_init_child_watch(void)
     struct sigaction act;
     sigchld_bh = qemu_bh_new(sigchld_bh_handler, NULL);
 
+    memset(&act, 0, sizeof(act));
     act.sa_handler = sigchld_handler;
     act.sa_flags = SA_NOCLDSTOP;
     sigaction(SIGCHLD, &act, NULL);