fix for group_compare, adding MPI_GROUP_EMPTY as a result for group_intersection/difference/union
This commit was SVN r2562.
Этот коммит содержится в:
родитель
c1ba40c631
Коммит
cfca6e88c1
@ -91,11 +91,11 @@ int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result) {
|
||||
|
||||
/* set comparison result */
|
||||
if( identical ) {
|
||||
*result=MPI_UNEQUAL;
|
||||
*result=MPI_IDENT;
|
||||
} else if( similar ) {
|
||||
*result=MPI_SIMILAR;
|
||||
} else {
|
||||
*result=MPI_IDENT;
|
||||
*result=MPI_UNEQUAL;
|
||||
}
|
||||
|
||||
return return_value;
|
||||
|
@ -69,6 +69,12 @@ int MPI_Group_difference(MPI_Group group1, MPI_Group group2,
|
||||
new_group_size++;
|
||||
} /* end proc loop */
|
||||
|
||||
if ( 0 == new_group_size ) {
|
||||
*new_group = MPI_GROUP_EMPTY;
|
||||
OBJ_RETAIN(MPI_GROUP_EMPTY);
|
||||
return MPI_SUCCESS;
|
||||
}
|
||||
|
||||
/* allocate a new ompi_group_t structure */
|
||||
new_group_pointer=ompi_group_allocate(new_group_size);
|
||||
if( NULL == new_group_pointer ) {
|
||||
|
@ -64,6 +64,13 @@ int MPI_Group_intersection(MPI_Group group1, MPI_Group group2,
|
||||
} /* end proc2 loop */
|
||||
} /* end proc1 loop */
|
||||
|
||||
if ( 0 == group_size ) {
|
||||
*new_group = MPI_GROUP_EMPTY;
|
||||
OBJ_RETAIN(MPI_GROUP_EMPTY);
|
||||
return MPI_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/* fill in new group */
|
||||
new_group_pointer=ompi_group_allocate(group_size);
|
||||
if( NULL == new_group_pointer ) {
|
||||
|
@ -72,6 +72,12 @@ int MPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group *new_group)
|
||||
new_group_size++;
|
||||
} /* end proc loop */
|
||||
|
||||
if ( 0 == new_group_size ) {
|
||||
*new_group = MPI_GROUP_EMPTY;
|
||||
OBJ_RETAIN(MPI_GROUP_EMPTY);
|
||||
return MPI_SUCCESS;
|
||||
}
|
||||
|
||||
/* get new group struct */
|
||||
new_group_pointer = ompi_group_allocate(new_group_size);
|
||||
if (NULL == new_group_pointer) {
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user