@@ -218,8 +218,10 @@ ompi_coll_base_bcast_intra_generic( void* buffer,
218218 for ( req_index = 0 ; req_index < 2 ; req_index ++ ) {
219219 if (MPI_REQUEST_NULL == recv_reqs [req_index ]) continue ;
220220 if (MPI_ERR_PENDING == recv_reqs [req_index ]-> req_status .MPI_ERROR ) continue ;
221- err = recv_reqs [req_index ]-> req_status .MPI_ERROR ;
222- break ;
221+ if (recv_reqs [req_index ]-> req_status .MPI_ERROR != MPI_SUCCESS ) {
222+ err = recv_reqs [req_index ]-> req_status .MPI_ERROR ;
223+ break ;
224+ }
223225 }
224226 }
225227 ompi_coll_base_free_reqs ( recv_reqs , 2 );
@@ -228,8 +230,10 @@ ompi_coll_base_bcast_intra_generic( void* buffer,
228230 for ( req_index = 0 ; req_index < tree -> tree_nextsize ; req_index ++ ) {
229231 if (MPI_REQUEST_NULL == send_reqs [req_index ]) continue ;
230232 if (MPI_ERR_PENDING == send_reqs [req_index ]-> req_status .MPI_ERROR ) continue ;
231- err = send_reqs [req_index ]-> req_status .MPI_ERROR ;
232- break ;
233+ if (send_reqs [req_index ]-> req_status .MPI_ERROR != MPI_SUCCESS ) {
234+ err = send_reqs [req_index ]-> req_status .MPI_ERROR ;
235+ break ;
236+ }
233237 }
234238 }
235239 ompi_coll_base_free_reqs (send_reqs , tree -> tree_nextsize );
@@ -679,8 +683,10 @@ ompi_coll_base_bcast_intra_basic_linear(void *buff, int count,
679683 for ( preq = reqs ; preq < reqs + i ; preq ++ ) {
680684 if (MPI_REQUEST_NULL == * preq ) continue ;
681685 if (MPI_ERR_PENDING == (* preq )-> req_status .MPI_ERROR ) continue ;
682- err = (* preq )-> req_status .MPI_ERROR ;
683- break ;
686+ if ((* preq )-> req_status .MPI_ERROR != MPI_SUCCESS ) {
687+ err = (* preq )-> req_status .MPI_ERROR ;
688+ break ;
689+ }
684690 }
685691 ompi_coll_base_free_reqs (reqs , i );
686692 }
0 commit comments