Make MPI_GROUP_INCL|EXCL and MPI_GROUP_TRANSLATE_RANKS a bit more
social when array_size==0 is passed in. Thanks to Lisandro Dalcin for pointing this out. This commit was SVN r22144.
Этот коммит содержится в:
родитель
6df802424d
Коммит
ac21b4f571
@ -10,7 +10,7 @@
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2006 University of Houston. All rights reserved.
|
||||
* Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
@ -52,7 +52,7 @@ int MPI_Group_excl(MPI_Group group, int n, int *ranks,
|
||||
(NULL == new_group) ) {
|
||||
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_GROUP,
|
||||
FUNC_NAME);
|
||||
} else if (NULL == ranks) {
|
||||
} else if (NULL == ranks && n > 0) {
|
||||
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG,
|
||||
FUNC_NAME);
|
||||
}
|
||||
|
@ -10,7 +10,7 @@
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2006 University of Houston. All rights reserved.
|
||||
* Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
@ -53,7 +53,7 @@ int MPI_Group_incl(MPI_Group group, int n, int *ranks, MPI_Group *new_group)
|
||||
(NULL == new_group) ) {
|
||||
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_GROUP,
|
||||
FUNC_NAME);
|
||||
} else if (NULL == ranks) {
|
||||
} else if (NULL == ranks && n > 0) {
|
||||
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG,
|
||||
FUNC_NAME);
|
||||
}
|
||||
|
@ -9,6 +9,7 @@
|
||||
* University of Stuttgart. All rights reserved.
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2009 Cisco Systems, Inc. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
@ -45,20 +46,24 @@ int MPI_Group_translate_ranks(MPI_Group group1, int n_ranks, int *ranks1,
|
||||
OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
|
||||
|
||||
if ((MPI_GROUP_NULL == group1) || (MPI_GROUP_NULL == group2) ||
|
||||
(NULL == group1) || (NULL == group2) ) {
|
||||
(NULL == group1) || (NULL == group2)) {
|
||||
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_GROUP,
|
||||
FUNC_NAME);
|
||||
}
|
||||
if( 0 > n_ranks ){
|
||||
if (n_ranks < 0) {
|
||||
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_GROUP,
|
||||
FUNC_NAME);
|
||||
}
|
||||
if( (NULL == ranks1) || (NULL == ranks2 ) ) {
|
||||
if (n_ranks > 0 && ((NULL == ranks1) || (NULL == ranks2 ))) {
|
||||
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_GROUP,
|
||||
FUNC_NAME);
|
||||
}
|
||||
}
|
||||
|
||||
if (0 == n_ranks) {
|
||||
return MPI_SUCCESS;
|
||||
}
|
||||
|
||||
OPAL_CR_ENTER_LIBRARY();
|
||||
|
||||
err = ompi_group_translate_ranks ( group1, n_ranks, ranks1,
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user