src/lib/pipeline.c 1.22
1.22 2009/04/05 18:10:00 markd
ignore SIGPIPE in child to avoid timing issue on process completion
Index: src/lib/pipeline.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/lib/pipeline.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -b -B -U 4 -r1.21 -r1.22
--- src/lib/pipeline.c 7 Feb 2009 00:14:20 -0000 1.21
+++ src/lib/pipeline.c 5 Apr 2009 18:10:00 -0000 1.22
@@ -280,8 +280,11 @@
if ((proc->pid = fork()) < 0)
errnoAbort("can't fork");
if (proc->pid == 0)
{
+ // child
+ if (signal(SIGPIPE, SIG_IGN) == SIG_ERR)
+ errnoAbort("error ignoring SIGPIPE");
if (otherEndBuf != NULL)
plProcMemWrite(proc, procStdoutFd, stderrFd, otherEndBuf, otherEndBufSize);
else
plProcExecChild(proc, procStdinFd, procStdoutFd, stderrFd);