1
1

bug fixes, removing typos and removing the grp_ok_to_free flag

This commit was SVN r1256.
Этот коммит содержится в:
Edgar Gabriel 2004-06-15 00:06:33 +00:00
родитель 65bfadf87f
Коммит ca30b00d18
5 изменённых файлов: 8 добавлений и 17 удалений

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

@ -29,18 +29,12 @@ int MPI_Group_free(MPI_Group *group)
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_GROUP, return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_GROUP,
"MPI_Group_free"); "MPI_Group_free");
} }
} }
l_group = (ompi_group_t *) *group; l_group = (ompi_group_t *) *group;
/* check to see if group may be freed */
if( false == l_group->grp_ok_to_free ) {
return MPI_ERR_GROUP;
}
OBJ_RELEASE(l_group); OBJ_RELEASE(l_group);
*group = MPI_GROUP_NULL; *group = MPI_GROUP_NULL;
return MPI_SUCCESS; return MPI_SUCCESS;
} }

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

@ -143,10 +143,10 @@ int MPI_Group_range_excl(MPI_Group group, int n_triplets, int ranges[][3],
index=0; index=0;
for (proc = 0; proc < group_pointer->grp_proc_count; proc++) { for (proc = 0; proc < group_pointer->grp_proc_count; proc++) {
/* if value == -1, include in the list */ /* if value == -1, include in the list */
if (0 < elements_int_list[proc] ) { if (0 > elements_int_list[proc] ) {
new_group_pointer->grp_proc_pointers[index] = new_group_pointer->grp_proc_pointers[index] =
group_pointer->grp_proc_pointers[proc]; group_pointer->grp_proc_pointers[proc];
index++; index++;
} }
} /* end of proc loop */ } /* end of proc loop */

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

@ -137,13 +137,11 @@ int MPI_Group_range_incl(MPI_Group group, int n_triplets, int ranges[][3],
} }
/* fill in group list */ /* fill in group list */
index=0;
for (proc = 0; proc < group_pointer->grp_proc_count; proc++) { for (proc = 0; proc < group_pointer->grp_proc_count; proc++) {
/* if value >= 0, include in the list */ /* if value >= 0, include in the list */
if (0 <= elements_int_list[proc] ) { if (0 <= elements_int_list[proc] ) {
new_group_pointer->grp_proc_pointers[index] = new_group_pointer->grp_proc_pointers[elements_int_list[proc]] =
group_pointer->grp_proc_pointers[proc]; group_pointer->grp_proc_pointers[proc];
index++;
} }
} /* end of proc loop */ } /* end of proc loop */

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

@ -35,8 +35,7 @@ int MPI_Group_translate_ranks(MPI_Group group1, int n_ranks, int *ranks1,
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_GROUP, return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_GROUP,
"MPI_Group_translate_ranks"); "MPI_Group_translate_ranks");
} }
if( (n_ranks > group1_pointer->grp_proc_count) || if( 0 >= n_ranks ){
( 0 >= n_ranks ) ){
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_GROUP, return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_GROUP,
"MPI_Group_translate_ranks - II "); "MPI_Group_translate_ranks - II ");
} }

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

@ -54,7 +54,7 @@ int MPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group *new_group)
found_in_group = 0; found_in_group = 0;
for (proc1 = 0; proc1 < group1_pointer->grp_proc_count; proc1++) { for (proc1 = 0; proc1 < group1_pointer->grp_proc_count; proc1++) {
proc1_pointer = group1_pointer->grp_proc_pointers[proc1]; proc1_pointer = group1_pointer->grp_proc_pointers[proc1];
if (proc2_pointer == proc2_pointer) { if (proc1_pointer == proc2_pointer) {
/* proc2 is in group1 - don't double count */ /* proc2 is in group1 - don't double count */
found_in_group = 1; found_in_group = 1;
break; break;
@ -92,7 +92,7 @@ int MPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group *new_group)
found_in_group = 0; found_in_group = 0;
for (proc1 = 0; proc1 < group1_pointer->grp_proc_count; proc1++) { for (proc1 = 0; proc1 < group1_pointer->grp_proc_count; proc1++) {
proc1_pointer = group1_pointer->grp_proc_pointers[proc1]; proc1_pointer = group1_pointer->grp_proc_pointers[proc1];
if (proc2_pointer == proc2_pointer) { if (proc1_pointer == proc2_pointer) {
/* proc2 is in group1 - don't double count */ /* proc2 is in group1 - don't double count */
found_in_group = 1; found_in_group = 1;
break; break;
@ -112,7 +112,7 @@ int MPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group *new_group)
/* find my rank */ /* find my rank */
my_group_rank = group1_pointer->grp_my_rank; my_group_rank = group1_pointer->grp_my_rank;
if (MPI_PROC_NULL == my_group_rank) { if (MPI_UNDEFINED == my_group_rank) {
my_group_rank = group2_pointer->grp_my_rank; my_group_rank = group2_pointer->grp_my_rank;
my_proc_pointer = group2_pointer->grp_proc_pointers[my_group_rank]; my_proc_pointer = group2_pointer->grp_proc_pointers[my_group_rank];
} else { } else {