George and I talked about this on the phone at length. More below.
On Feb 19, 2009, at 1:18 PM, Jeff Squyres wrote:
I don't see how you reach this conclusion. Based on my reading of
the standard, MPI_ERRHANDLER_NULL is a valid error handler defined
as "no" errorhandler. Kind of similar with MPI_REQUEST_NULL ...
It is not valid; MPI specifically defines both of these as invalid
handles.
[snip]
I finally got George to agree with me on this issue. :-)
Moreover, I don't agree with some of the other changes, more
specifically with the one related to the MPI_Request_get_status.
Here is a paragraph from the MPI 2.1 standard about MPI_Waitall
page 59 line 24: "The list may contain null or inactive handles.
The call sets to empty the status of each such entry." This
basically tells me that the status of the MPI_REQUEST_NULL should
be the empty status (defined in the MPI standard) and not any kind
of errors (i.e MPI_ERR_ARG).
George and I split the vote on this one. :-)
There is explicit language in MPI-2.1 that allows calling the
MPI_TEST* and MPI_WAIT* variants with MPI_REQUEST_NULL or an inactive
request. There is *no* explicit language in MPI-2.1 allowing the same
behavior for MPI_REQUEST_GET_STATUS.
So while George and I agree that MPI_REQUEST_GET_STATUS should be
symmetric with MPI_TEST* and MPI_WAIT*, it currently isn't. I
therefore filed the following proposal ticket to make this behavior
legal for MPI-2.2:
https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/137
--
Jeff Squyres
Cisco Systems