Hi George,
The issue I wanted to ask about is that it is impossible to write an FT helper library that causes an error to be returned by an MPI operation. For example, an error in MPI_Send cannot trigger a library-defined handler that does some handling and also returns an error code to the application (so the application can do additional handling). Is this a potential problem from the perspective of FT, and if so should we look at this issue? Anything we might do with error handlers seems like it would be a new proposal.
The way I described the issue was admittedly weird. I think this discrepancy emerges clearly when you look at the way error handlers are defined. The MPI_ERRORS_RETURN error handler is the only way to get anything but success back from an MPI call. That is, the error handler cannot pass some error handling responsibility back to the application. From that perspective, MPI_ERRORS_RETURN can be viewed as either a special case or inconsistency in the error handlers interface. In order to write code that invokes the error handler, one has to write something like:
MPI_Errhandler err_hdl;
MPI_Comm_get_errhandler(comm, &err_hdl);
if (err_hdl == MPI_ERRORS_RETURN)
return MY_ERRCODE;
else
MPI_Comm_call_errhandler(comm, MY_ERRCODE);
Anyway, the first paragraph is the actual question. The rest is a digression about difficulties in using the error handler interface that we could discuss in more depth if the response to my question is an affirmative.
~Jim.