Access information associated with a request without freeing the request.
#include <mpi.h> int MPI_Request_get_status(MPI_Request request, int *flag, MPI_Status *status)
INCLUDE 'mpif.h' MPI_REQUEST_GET_STATUS(REQUEST, FLAG, STATUS, IERROR) INTEGER REQUEST, STATUS(MPI_STATUS_SIZE), IERROR LOGICAL FLAG
#include <mpi.h> bool MPI::Request::Get_status(MPI::Status& status) const bool MPI::Request::Get_status() const
request
Communication request (handle).
flag
Boolean flag, same as from MPI_Test (logical).
status
MPI_Status object if flag is true (status).
MPI_Request_get_status sets flag=true if the operation is complete or sets flag=false if it is not complete. If the operation is complete, it returns in status the request status. It does not deallocate or inactivate the request; a subsequent call to test, wait, or free should be executed with that request.
If your application does not need to examine the status field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the status argument.
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error.