What OMPI version are you talking about?

We already trap SIGPIPE, but ignore it at the request of others (not sure what 
version that was started). I believe a flag may exist to alter that behavior - 
could easily be added if not.


On Nov 24, 2010, at 5:08 PM, Jesse Ziser wrote:

> Hello,
> 
> I've noticed that OpenMPI does not seem to detect when something downstream 
> of it fails.  Specifically, I think it does not handle SIGPIPE or pass it 
> down to its young, but it still prints an error message every time it occurs.
> 
> For example, running a command like this:
> 
>  mpirun -np 1 ./mpi-cat </dev/zero | dd bs=1 count=1 >/dev/null
> 
> (where mpi-cat is just a simple program that initializes MPI and then copies 
> its input to its output) hangs after the dd quits, and produces an eternity 
> of repetitions of this error message:
> 
>  [[35845,0],0] reports a SIGPIPE error on fd 13
> 
> I am unsure whether this is the intended behavior, but it certainly seems 
> unfortunate from my persepective.  Is there any way to make it exit nicely, 
> preferably with a single error, whenever what it's trying to write to doesn't 
> exist anymore?  I think I could even submit a patch to make it quit on 
> SIGPIPE, if it is agreed that that makes sense.
> 
> Here's the source for my mpi-cat example:
> 
>  #include <stdio.h>
> 
>  #include <mpi.h>
> 
>  int main (int iArgC, char *apArgV [])
>  {
>      int iRank;
> 
>      MPI_Init (&iArgC, &apArgV);
> 
>      MPI_Comm_rank (MPI_COMM_WORLD, &iRank);
> 
>      if (iRank == 0)
>      {
>          while(1)
>              if(putchar(getchar()) < 0)
>                  break;
>      }
> 
>      MPI_Finalize ();
> 
>      return (0);
>  }
> 
> 
> Thank you,
> 
> Jesse Ziser
> Applied Research Laboratories:
> The University of Texas at Austin
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


Reply via email to