File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Original file line number Diff line number Diff line change @@ -388,6 +388,7 @@ int mca_pml_ucx_del_procs(struct ompi_proc_t **procs, size_t nprocs)
388388 void * dreq , * * dreqs ;
389389 ucp_ep_h ep ;
390390 size_t i ;
391+ ucs_status_t ret ;
391392
392393 max_reqs = ompi_pml_ucx .num_disconnect ;
393394 if (max_reqs > nprocs ) {
@@ -429,6 +430,14 @@ int mca_pml_ucx_del_procs(struct ompi_proc_t **procs, size_t nprocs)
429430
430431 mca_pml_ucx_waitall (dreqs , & num_reqs );
431432 free (dreqs );
433+ /* flush worker to allow all pending operations to complete.
434+ * ignore error (we can do nothing here), just try to
435+ * finalize gracefully */
436+ ret = ucp_worker_flush (ompi_pml_ucx .ucp_worker );
437+ if (UCS_OK != ret ) {
438+ PML_UCX_ERROR ("ucp_worker_flush failed: %s" ,
439+ ucs_status_string (ret ));
440+ }
432441
433442 opal_pmix .fence (NULL , 0 );
434443
You can’t perform that action at this time.
0 commit comments