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 @@ -394,6 +394,7 @@ int mca_pml_ucx_del_procs(struct ompi_proc_t **procs, size_t nprocs)
394394 void * dreq , * * dreqs ;
395395 ucp_ep_h ep ;
396396 size_t i ;
397+ ucs_status_t ret ;
397398
398399 max_reqs = ompi_pml_ucx .num_disconnect ;
399400 if (max_reqs > nprocs ) {
@@ -435,6 +436,14 @@ int mca_pml_ucx_del_procs(struct ompi_proc_t **procs, size_t nprocs)
435436
436437 mca_pml_ucx_waitall (dreqs , & num_reqs );
437438 free (dreqs );
439+ /* flush worker to allow all pending operations to complete.
440+ * ignore error (we can do nothing here), just try to
441+ * finalize gracefully */
442+ ret = ucp_worker_flush (ompi_pml_ucx .ucp_worker );
443+ if (UCS_OK != ret ) {
444+ PML_UCX_ERROR ("ucp_worker_flush failed: %s" ,
445+ ucs_status_string (ret ));
446+ }
438447
439448 opal_pmix .fence (NULL , 0 );
440449
You can’t perform that action at this time.
0 commit comments