From: Bartosz Golaszewski Date: Tue, 13 Jun 2017 12:58:20 +0000 (+0200) Subject: tests: unblock SIGCHLD after closing the signalfd X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=a3ed2e05b47daed1c02453eb93aec6c30419e61c;p=qemu-gpiodev%2Flibgpiod.git tests: unblock SIGCHLD after closing the signalfd Restore the state from before running the subprocess. Signed-off-by: Bartosz Golaszewski --- diff --git a/tests/gpiod-test.c b/tests/gpiod-test.c index eb3fbff..f7073eb 100644 --- a/tests/gpiod-test.c +++ b/tests/gpiod-test.c @@ -554,6 +554,7 @@ void test_tool_wait(void) struct signalfd_siginfo sinfo; struct gpiotool_proc *proc; struct pollfd pfd; + sigset_t sigmask; int status; ssize_t rd; @@ -586,6 +587,13 @@ void test_tool_wait(void) else if (rd != sizeof(sinfo)) die("invalid size of signal info"); + sigemptyset(&sigmask); + sigaddset(&sigmask, SIGCHLD); + + status = sigprocmask(SIG_UNBLOCK, &sigmask, NULL); + if (status) + die_perr("unable to unblock signals"); + gpiotool_readall(proc->stdout_fd, &proc->stdout); gpiotool_readall(proc->stderr_fd, &proc->stderr);