Skip to content

Commit c86d403

Browse files
Nicolas Chevaliershawone
authored andcommitted
coll-portals4: check return value from reduce kary tree functions
1 parent d969196 commit c86d403

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

ompi/mca/coll/portals4/coll_portals4_reduce.c

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,7 @@ ompi_coll_portals4_reduce_intra(const void *sendbuf, void *recvbuf, int count,
367367
struct ompi_communicator_t *comm,
368368
mca_coll_base_module_t *module)
369369
{
370+
int ret;
370371
mca_coll_portals4_module_t *portals4_module = (mca_coll_portals4_module_t*) module;
371372
ompi_coll_portals4_request_t *request;
372373

@@ -381,9 +382,13 @@ ompi_coll_portals4_reduce_intra(const void *sendbuf, void *recvbuf, int count,
381382
request->is_sync = true;
382383
request->fallback_request = NULL;
383384

384-
reduce_kary_tree_top(sendbuf, recvbuf, count,
385+
ret = reduce_kary_tree_top(sendbuf, recvbuf, count,
385386
dtype, op, root, comm, request, portals4_module);
386-
reduce_kary_tree_bottom(request);
387+
if (OMPI_SUCCESS != ret)
388+
return ret;
389+
ret = reduce_kary_tree_bottom(request);
390+
if (OMPI_SUCCESS != ret)
391+
return ret;
387392

388393
OMPI_COLL_PORTALS4_REQUEST_RETURN(request);
389394
return (OMPI_SUCCESS);
@@ -398,6 +403,7 @@ ompi_coll_portals4_ireduce_intra(const void* sendbuf, void* recvbuf, int count,
398403
ompi_request_t ** ompi_request,
399404
struct mca_coll_base_module_2_1_0_t *module)
400405
{
406+
int ret;
401407
mca_coll_portals4_module_t *portals4_module = (mca_coll_portals4_module_t*) module;
402408
ompi_coll_portals4_request_t *request;
403409

@@ -413,9 +419,10 @@ ompi_coll_portals4_ireduce_intra(const void* sendbuf, void* recvbuf, int count,
413419
request->fallback_request = ompi_request;
414420
request->is_sync = false;
415421

416-
417-
reduce_kary_tree_top(sendbuf, recvbuf, count,
422+
ret = reduce_kary_tree_top(sendbuf, recvbuf, count,
418423
dtype, op, root, comm, request, portals4_module);
424+
if (OMPI_SUCCESS != ret)
425+
return ret;
419426

420427
if (!request->u.reduce.is_optim) {
421428
OMPI_COLL_PORTALS4_REQUEST_RETURN(request);
@@ -428,7 +435,11 @@ ompi_coll_portals4_ireduce_intra(const void* sendbuf, void* recvbuf, int count,
428435
int
429436
ompi_coll_portals4_ireduce_intra_fini(ompi_coll_portals4_request_t *request)
430437
{
431-
reduce_kary_tree_bottom(request);
438+
int ret;
439+
440+
ret = reduce_kary_tree_bottom(request);
441+
if (OMPI_SUCCESS != ret)
442+
return ret;
432443

433444
OPAL_THREAD_LOCK(&ompi_request_lock);
434445
ompi_request_complete(&request->super, true);

0 commit comments

Comments
 (0)