diff --git a/src/mca/lam/oob/base/oob_base_select.c b/src/mca/lam/oob/base/oob_base_select.c index 936f316039..ff3043c54f 100644 --- a/src/mca/lam/oob/base/oob_base_select.c +++ b/src/mca/lam/oob/base/oob_base_select.c @@ -30,7 +30,7 @@ int mca_oob_base_select(bool *allow_multi_user_threads, lam_list_item_t *item; mca_base_module_list_item_t *mli; mca_oob_base_module_t *module, *best_module; - mca_oob_t *actions; + mca_oob_t *actions, *best_actions; extern lam_list_t mca_oob_base_modules_available; /* Traverse the list of available modules; call their init @@ -52,8 +52,8 @@ int mca_oob_base_select(bool *allow_multi_user_threads, lam_output_verbose(10, mca_oob_base_output, "select: no init function; ignoring module"); } else { - if (MCA_SUCCESS != module->oobm_init(&priority, &user_threads, - &hidden_threads)) { + actions = module->oobm_init(&priority, &user_threads, &hidden_threads); + if (NULL == actions) { lam_output_verbose(10, mca_oob_base_output, "select: init returned failure"); } else { @@ -64,6 +64,7 @@ int mca_oob_base_select(bool *allow_multi_user_threads, best_user_threads = user_threads; best_hidden_threads = hidden_threads; best_module = module; + best_actions = actions; } } } @@ -112,7 +113,7 @@ int mca_oob_base_select(bool *allow_multi_user_threads, /* Save the winner */ mca_oob_base_selected_module = *best_module; - mca_oob = *actions; + mca_oob = *best_actions; *allow_multi_user_threads = best_user_threads; *have_hidden_threads = best_hidden_threads; lam_output_verbose(10, mca_oob_base_output, diff --git a/src/mca/lam/pcm/base/pcm_base_select.c b/src/mca/lam/pcm/base/pcm_base_select.c index 6198b630c9..b41b78fc9b 100644 --- a/src/mca/lam/pcm/base/pcm_base_select.c +++ b/src/mca/lam/pcm/base/pcm_base_select.c @@ -29,7 +29,7 @@ int mca_pcm_base_select(bool *allow_multi_user_threads, lam_list_item_t *item; mca_base_module_list_item_t *mli; mca_pcm_base_module_t *module, *best_module; - mca_pcm_t *actions; + mca_pcm_t *actions, *best_actions; extern lam_list_t mca_pcm_base_modules_available; /* Traverse the list of available modules; call their init @@ -51,8 +51,8 @@ int mca_pcm_base_select(bool *allow_multi_user_threads, lam_output_verbose(10, mca_pcm_base_output, "select: no init function; ignoring module"); } else { - if (MCA_SUCCESS != module->pcmm_init(&priority, &user_threads, - &hidden_threads)) { + actions = module->pcmm_init(&priority, &user_threads, &hidden_threads); + if (NULL == actions) { lam_output_verbose(10, mca_pcm_base_output, "select: init returned failure"); } else { @@ -63,6 +63,7 @@ int mca_pcm_base_select(bool *allow_multi_user_threads, best_user_threads = user_threads; best_hidden_threads = hidden_threads; best_module = module; + best_actions = actions; } } } @@ -111,7 +112,7 @@ int mca_pcm_base_select(bool *allow_multi_user_threads, /* Save the winner */ mca_pcm_base_selected_module = *best_module; - mca_pcm = *actions; + mca_pcm = *best_actions; *allow_multi_user_threads = best_user_threads; *have_hidden_threads = best_hidden_threads; lam_output_verbose(10, mca_pcm_base_output, diff --git a/src/mca/lam/registry/base/registry_base_select.c b/src/mca/lam/registry/base/registry_base_select.c index dc1027c5c5..91059460cd 100644 --- a/src/mca/lam/registry/base/registry_base_select.c +++ b/src/mca/lam/registry/base/registry_base_select.c @@ -30,7 +30,7 @@ int mca_registry_base_select(bool *allow_multi_user_threads, lam_list_item_t *item; mca_base_module_list_item_t *mli; mca_registry_base_module_t *module, *best_module; - mca_registry_t *actions; + mca_registry_t *actions, *best_actions; extern lam_list_t mca_registry_base_modules_available; /* Traverse the list of available modules; call their init @@ -52,8 +52,9 @@ int mca_registry_base_select(bool *allow_multi_user_threads, lam_output_verbose(10, mca_registry_base_output, "select: no init function; ignoring module"); } else { - if (MCA_SUCCESS != module->registrym_init(&priority, &user_threads, - &hidden_threads)) { + actions = module->registrym_init(&priority, &user_threads, + &hidden_threads); + if (NULL == actions) { lam_output_verbose(10, mca_registry_base_output, "select: init returned failure"); } else { @@ -64,6 +65,7 @@ int mca_registry_base_select(bool *allow_multi_user_threads, best_user_threads = user_threads; best_hidden_threads = hidden_threads; best_module = module; + best_actions = actions; } } } @@ -106,13 +108,14 @@ int mca_registry_base_select(bool *allow_multi_user_threads, available list all unselected modules. The available list will contain only the selected module. */ - mca_base_modules_close(mca_registry_base_output, &mca_registry_base_modules_available, + mca_base_modules_close(mca_registry_base_output, + &mca_registry_base_modules_available, (mca_base_module_t *) best_module); /* Save the winner */ mca_registry_base_selected_module = *best_module; - mca_registry = *actions; + mca_registry = *best_actions; *allow_multi_user_threads = best_user_threads; *have_hidden_threads = best_hidden_threads; lam_output_verbose(10, mca_registry_base_output,