MSMPI_Waitsome_interruptible function - Message Passing Interface (original) (raw)

Waits until at least one of the operations that is associated with active handles in the list has finished, or the call is interrupted by another thread that calls MSMPI_Queuelock_acquire.

Syntax

int MPIAPI MSMPI_Waitsome_interruptible(
        int                                         incount,
        _Inout_count_(incount) MPI_Request          array_of_requests[],
  _Out_ int                                         *outcount,
        _Out_cap_post_count_(incount,*outcount) int array_of_indices[],
        _Out_cap_post_count_(incount,*outcount) int array_of_statuses[]
);

Parameters

Return value

Returns MPI_SUCCESS on success. Otherwise, the return value is an error code.

In Fortran, the return value is stored in the IERROR parameter.

If the function returns an error other than MPI_ERR_IN_STATUS, it does not update the error fields of the statuses in the array_of_statuses parameter.

In a multi-threaded environment, users must obtain the global Microsoft MPI lock by using the MSMPI_Queuelock_acquire function before they call MSMPI_Waitsome_interruptible. This function is interrupted when another thread calls the MSMPI_Queuelock_acquire function in order to access the MPI library.

This function is an extension to the standard.

Requirements

Product HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package or HPC Pack 2008 Client Utilities
Header Mpi.h
Library Msmpi.lib
DLL Msmpi.dll

See also

MPI Point to Point Functions

MSMPI_Lock_queue

MSMPI_Queuelock_acquire

MSMPI_Queuelock_release

MPI_Waitsome