função MSMPI_Waitsome_interruptible
Aguarda até que pelo menos uma das operações associadas a identificadores ativos na lista tenha terminado ou a chamada seja interrompida por outro thread que chame 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
conta
O número de pedidos na matriz array_of_requests.array_of_requests
Matriz de identificadores de pedidos das operações nas quais aguardar a conclusão. Se um identificador de pedido tiver sido alocado por uma função de comunicação sem ligação, é desalocado e o identificador associado é definido como MPI_REQUEST_NULL.outcount [out]
O número de pedidos especificados no parâmetro array_of_requests que estão concluídos 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 devolve imediatamente com o parâmetro outcount definido como MPI_UNDEFINED.
Se esta função for interrompida antes de quaisquer pedidos serem concluídos, a chamada será devolvida com o parâmetro outcount definido como zero.
array_of_indices
Devolve os índices dentro do parâmetro array_of_requests das operações que estão concluídas. Os índices de matriz são baseados em zero em C e baseados em um em Fortran.array_of_statuses
Devolve o estado das operações que estão concluídas. Os elementos desta matriz correspondem aos elementos da matriz array_of_indices .
Valor devolvido
Devolve MPI_SUCCESS com êxito. Caso contrário, o valor devolvido é um código de erro.
Em Fortran, o valor devolvido é armazenado no parâmetro IERROR .
Se a função devolver um erro diferente de MPI_ERR_IN_STATUS, não atualiza os campos de erro dos estados no parâmetro array_of_statuses .
Observações
Num ambiente com vários threads, os utilizadores têm de obter o bloqueio global do Microsoft MPI através da função MSMPI_Queuelock_acquire antes de chamarem MSMPI_Waitsome_interruptible. Esta função é interrompida quando outro thread chama a função MSMPI_Queuelock_acquire para aceder à biblioteca de MPI.
Esta função é uma extensão do padrão.
Requisitos
Produto |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package ou HPC Pack 2008 Client Utilities |
Cabeçalho |
Mpi.h |
Biblioteca |
Msmpi.lib |
DLL |
Msmpi.dll |