summaryrefslogtreecommitdiff
path: root/src/pipe-tools/s6-ftrig-listen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pipe-tools/s6-ftrig-listen.c')
-rw-r--r--src/pipe-tools/s6-ftrig-listen.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/pipe-tools/s6-ftrig-listen.c b/src/pipe-tools/s6-ftrig-listen.c
index d9c4b53..c6c105f 100644
--- a/src/pipe-tools/s6-ftrig-listen.c
+++ b/src/pipe-tools/s6-ftrig-listen.c
@@ -66,7 +66,7 @@ int main (int argc, char const **argv, char const *const *envp)
x[0].fd = selfpipe_init() ;
if (x[0].fd < 0) strerr_diefu1sys(111, "selfpipe_init") ;
if (selfpipe_trap(SIGCHLD) < 0) strerr_diefu1sys(111, "selfpipe_trap") ;
- if (sig_ignore(SIGPIPE) < 0) strerr_diefu1sys(111, "sig_ignore") ;
+ if (sig_ignore(SIGPIPE) < 0) strerr_diefu1sys(111, "ignore SIGPIPE") ;
if (!ftrigr_startf_g(&a, &deadline)) strerr_diefu1sys(111, "ftrigr_startf") ;
x[1].fd = ftrigr_fd(&a) ;
@@ -81,8 +81,10 @@ int main (int argc, char const **argv, char const *const *envp)
if (!ids[i]) strerr_diefu4sys(111, "subscribe to ", argv[i<<1], " with regexp ", argv[(i<<1)+1]) ;
}
+ sig_restore(SIGPIPE) ;
pid = child_spawn0(argv[argc1 + 1], argv + argc1 + 1, envp) ;
if (!pid) strerr_diefu2sys(111, "spawn ", argv[argc1 + 1]) ;
+ if (sig_ignore(SIGPIPE) < 0) strerr_diefu1sys(111, "ignore SIGPIPE") ;
for (;;)
{