1
1
This commit was SVN r986.
Этот коммит содержится в:
Jeff Squyres 2004-03-27 02:22:02 +00:00
родитель 6ad01adbb9
Коммит 31ed42e945
4 изменённых файлов: 15 добавлений и 9 удалений

Просмотреть файл

@ -30,7 +30,7 @@ int MPI_Comm_free(MPI_Comm *comm) {
/* free the object */ /* free the object */
lam_comm_free ( (lam_communicator_t *) comm ); lam_comm_free ( comm );
*comm = MPI_COMM_NULL; *comm = MPI_COMM_NULL;
return MPI_SUCCESS; return MPI_SUCCESS;

Просмотреть файл

@ -31,9 +31,14 @@ int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler)
} }
} }
/* Ditch the old errhandler */
OBJ_RELEASE(comm->error_handler);
/* We have a valid comm and errhandler */ /* We have a valid comm and errhandler */
comm->error_handler = errhandler; comm->error_handler = errhandler;
OBJ_RETAIN(comm->error_handler);
/* All done */ /* All done */

Просмотреть файл

@ -25,13 +25,13 @@ MPI_Group MPI_Group_f2c(MPI_Fint group_f)
/* error checks */ /* error checks */
if (MPI_PARAM_CHECK) { if (MPI_PARAM_CHECK) {
if (0 > group_index) { if (0 > group_index) {
return LAM_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_GROUP, (void) LAM_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_GROUP,
"MPI_Group_f2c"); "MPI_Group_f2c");
return MPI_GROUP_NULL; return MPI_GROUP_NULL;
} }
if (group_index >= lam_group_f_to_c_table->size) { if (group_index >= lam_group_f_to_c_table->size) {
return LAM_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_GROUP, (void) LAM_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_GROUP,
"MPI_Group_f2c - II"); "MPI_Group_f2c - II");
return MPI_GROUP_NULL; return MPI_GROUP_NULL;
} }
} }

Просмотреть файл

@ -30,16 +30,17 @@ int MPI_Test(MPI_Request *request, int *completed, MPI_Status *status)
} }
if(*request == NULL) { if(*request == NULL) {
*completed = true; *completed = 1;
status->MPI_SOURCE = MPI_PROC_NULL; status->MPI_SOURCE = MPI_PROC_NULL;
status->MPI_TAG = MPI_ANY_TAG; status->MPI_TAG = MPI_ANY_TAG;
status->MPI_ERROR = MPI_SUCCESS; status->MPI_ERROR = MPI_SUCCESS;
status->_count = 0; status->_count = 0;
return MPI_SUCCESS; return MPI_SUCCESS;
} }
rc = mca_pml.pml_test(1, request, index, completed, status); rc = mca_pml.pml_test(1, request, &index, completed, status);
if(completed < 0) if(*completed < 0) {
completed = 0; *completed = 0;
}
LAM_ERRHANDLER_RETURN(rc, (lam_communicator_t*)NULL, rc, "MPI_Test"); LAM_ERRHANDLER_RETURN(rc, (lam_communicator_t*)NULL, rc, "MPI_Test");
} }