thanks for your answer.
The question to me is: Is an MPI process supposed to eventually exit or
can it be a server process running for eternity?
In the later case, no progress will be made ...
I think it might be helpful to users to give a clarification in the
standard (e.g. in an "advice to users."), especially because obviously
the target in passive target communication is not allowed to be quite so
> For the finalize requirement, see MPI-2.2 page 291, lines 36-38:
> This routine cleans up all MPI state. Each process must call
> MPI_FINALIZE before it exits. Unless there has been a call to
> MPI_ABORT, each process must ensure that all pending nonblocking
> communications are (locally) complete before calling MPI_FINALIZE.
> MPI is intentionally vague on progress issues and leaves lots of room
> for implementation choices.
> I'll let the Open MPI folks answer the questions about their
> users mailing list