Index: /trunk/Ohana/src/opihi/lib.shell/opihi.c
===================================================================
--- /trunk/Ohana/src/opihi/lib.shell/opihi.c	(revision 16472)
+++ /trunk/Ohana/src/opihi/lib.shell/opihi.c	(revision 16473)
@@ -25,4 +25,5 @@
       ppid = getppid();
       if (ppid == 1) {
+	signal (SIGPIPE, SIG_IGN);
 	gprint (GP_ERR, "caught parent shutdown\n");
 	exit (21);
Index: /trunk/Ohana/src/opihi/pcontrol/pcontrol.c.in
===================================================================
--- /trunk/Ohana/src/opihi/pcontrol/pcontrol.c.in	(revision 16472)
+++ /trunk/Ohana/src/opihi/pcontrol/pcontrol.c.in	(revision 16473)
@@ -21,5 +21,5 @@
 
   /* set global signal masks (these apply to all threads launched below) */
-  signal (SIGPIPE, gotsignal);
+  signal (SIGPIPE, SIG_IGN); // must ignore SIGPIPE or we get in an infinite loop when pantasks exits
   signal (SIGTSTP, gotsignal);
   signal (SIGTTIN, gotsignal);
