Função MSMPI_Waitsome_interruptible
Aguarda até que pelo menos uma das operações associadas a identificadores ativos na lista seja concluída ou a chamada seja interrompida por outro thread que chama MSMPI_Queuelock_acquire.
Sintaxe
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[]
);
Parâmetros
incount
O número de solicitações na matriz array_of_requests.array_of_requests
Matriz de identificadores de solicitação das operações nas quais aguardar a conclusão. Se um identificador de solicitação tiver sido alocado por uma função de comunicação sem bloqueio, ele será desalocado e o identificador associado será definido como MPI_REQUEST_NULL.outcount [out]
O número de solicitações especificadas no parâmetro array_of_requests concluído e o número de elementos nas matrizes array_of_indices e array_of_statuses .Se o array_of_requests não contiver identificadores ativos, a função retornará imediatamente com o parâmetro outcount definido como MPI_UNDEFINED.
Se essa função for interrompida antes de qualquer solicitação ser concluída, a chamada retornará com o parâmetro outcount definido como zero.
array_of_indices
Retorna os índices dentro do parâmetro array_of_requests das operações concluídas. Os índices de matriz são baseados em zero em C e baseados em um no Fortran.array_of_statuses
Retorna o status das operações concluídas. Os elementos dessa matriz correspondem aos elementos da matriz array_of_indices .
Retornar valor
Retorna MPI_SUCCESS em caso de êxito. Caso contrário, o valor retornado será um código de erro.
Em Fortran, o valor retornado é armazenado no parâmetro IERROR .
Se a função retornar um erro diferente de MPI_ERR_IN_STATUS, ela não atualizará os campos de erro dos status no parâmetro array_of_statuses .
Comentários
Em um ambiente de vários threads, os usuários devem obter o bloqueio global do Microsoft MPI usando a função MSMPI_Queuelock_acquire antes de chamarem MSMPI_Waitsome_interruptible. Essa função é interrompida quando outro thread chama a função MSMPI_Queuelock_acquire para acessar a biblioteca MPI.
Essa função é uma extensão para o padrão.
Requisitos
Produto |
Pacote Redistribuível do HPC Pack 2012 MS-MPI, Pacote Redistribuível HPC Pack 2008 R2 MS-MPI, Pacote Redistribuível do HPC Pack 2008 MS-MPI ou Utilitários de Cliente HPC Pack 2008 |
parâmetro |
Mpi.h |
Biblioteca |
Msmpi.lib |
DLL |
Msmpi.dll |