It would seem to me that the standard is NOT saying "a probed message
must be received by the immediately following MPI_Recv". It merely says
"MPI_Probe must give the same result as if the corresponding MPI_Recv
were issued at the same point". If I understand the definition
correctly, it should be OK that the MPI_Probe() returns true, AND the
MPI_Recv() still fails to receive the message.
Besides, the MPI_Probe() may either return true or block in the above
example, depending on the order the cancel and probe are actually
processed.
I appreciate if anybody could correct me if I am wrong, because we are
under a struggle to decide how to implement MPI_Cancel on our machine.
---------------------------------------------------------------
Nobutoshi Sagawa
Processor System Department
Central Research Laboratory, Hitachi Ltd.
tel: +81-423-23-1111 ext 3850
fax: +81-423-27-7743
---------------------------------------------------------------