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
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: