From a3ed2e05b47daed1c02453eb93aec6c30419e61c Mon Sep 17 00:00:00 2001 From: Bartosz Golaszewski Date: Tue, 13 Jun 2017 14:58:20 +0200 Subject: [PATCH] tests: unblock SIGCHLD after closing the signalfd Restore the state from before running the subprocess. Signed-off-by: Bartosz Golaszewski --- tests/gpiod-test.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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); -- 2.30.2