62. Non-destructive Test of status


Up: Nonblocking Communication Next: Probe and Cancel Previous: Multiple Completions

This call is useful for accessing the information associated with a request, without freeing the request (in case the user is expected to access it later). It allows one to layer libraries more conveniently, since multiple layers of software may access the same completed request and extract from it the status information.

MPI_REQUEST_GET_STATUS( request, flag, status )
IN requestrequest (handle)
OUT flagboolean flag, same as from MPI_TEST (logical)
OUT status MPI_STATUS object if flag is true (Status)

int MPI_Request_get_status(MPI_Request request, int *flag, MPI_Status *status)

MPI_REQUEST_GET_STATUS( REQUEST, FLAG, STATUS, IERROR)
INTEGER REQUEST, STATUS(MPI_STATUS_SIZE), IERROR
LOGICAL FLAG

{ bool MPI::Request::Get_status(MPI::Status& status) const (binding deprecated, see Section Deprecated since MPI-2.2 ) }
{ bool MPI::Request::Get_status() const (binding deprecated, see Section Deprecated since MPI-2.2 ) }

Sets flag=true if the operation is complete, and, if so, returns in status the request status. However, unlike test or wait, it does not deallocate or inactivate the request; a subsequent call to test, wait or free should be executed with that request. It sets flag=false if the operation is not complete.

One is allowed to call MPI_REQUEST_GET_STATUS with a null or inactive request argument. In such a case the operation returns with flag=true and empty status.



Up: Nonblocking Communication Next: Probe and Cancel Previous: Multiple Completions


Return to MPI-2.2 Standard Index
Return to MPI Forum Home Page

(Unofficial) MPI-2.2 of September 4, 2009
HTML Generated on September 10, 2009