mpi: check MPI_Start[all] is invoked on persistent requests
and errors otherwise. Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
Этот коммит содержится в:
родитель
545e9af896
Коммит
9a63dacf1c
@ -10,7 +10,7 @@
|
||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
* Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2015 Research Organization for Information Science
|
||||
* Copyright (c) 2015-2017 Research Organization for Information Science
|
||||
* and Technology (RIST). All rights reserved.
|
||||
* Copyright (c) 2017 FUJITSU LIMITED. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
@ -68,6 +68,9 @@ int MPI_Start(MPI_Request *request)
|
||||
switch((*request)->req_type) {
|
||||
case OMPI_REQUEST_PML:
|
||||
case OMPI_REQUEST_COLL:
|
||||
if ( MPI_PARAM_CHECK && !(*request)->req_persistent) {
|
||||
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_REQUEST, FUNC_NAME);
|
||||
}
|
||||
OPAL_CR_ENTER_LIBRARY();
|
||||
|
||||
ret = (*request)->req_start(1, request);
|
||||
|
@ -13,9 +13,9 @@
|
||||
* Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2012-2016 Los Alamos National Security, LLC. All rights
|
||||
* reserved.
|
||||
* Copyright (c) 2014-2015 Research Organization for Information Science
|
||||
* Copyright (c) 2014-2017 Research Organization for Information Science
|
||||
* and Technology (RIST). All rights reserved.
|
||||
* Copyright (c) 2017 FUJITSU LIMITED. All rights reserved.
|
||||
* Copyright (c) 2017-2018 FUJITSU LIMITED. All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
@ -65,6 +65,7 @@ int MPI_Startall(int count, MPI_Request requests[])
|
||||
} else {
|
||||
for (i = 0; i < count; ++i) {
|
||||
if (NULL == requests[i] ||
|
||||
! requests[i]->req_persistent ||
|
||||
(OMPI_REQUEST_PML != requests[i]->req_type &&
|
||||
OMPI_REQUEST_COLL != requests[i]->req_type &&
|
||||
OMPI_REQUEST_NOOP != requests[i]->req_type)) {
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user