@@ -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,
428435int
429436ompi_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