Avoid hanging in show_help if PMIx was unable to initialize
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
Этот коммит содержится в:
родитель
b030f9acc0
Коммит
a43fae74a5
@ -1328,12 +1328,7 @@ static void pmix2x_log(opal_list_t *info,
|
|||||||
opal_value_t *ival;
|
opal_value_t *ival;
|
||||||
size_t n, ninfo;
|
size_t n, ninfo;
|
||||||
pmix2x_opcaddy_t *cd;
|
pmix2x_opcaddy_t *cd;
|
||||||
|
pmix_status_t prc;
|
||||||
/* bozo check */
|
|
||||||
if (NULL == info || 0 == (ninfo = opal_list_get_size(info))) {
|
|
||||||
rc = OPAL_ERR_BAD_PARAM;
|
|
||||||
goto CLEANUP;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* setup the operation */
|
/* setup the operation */
|
||||||
cd = OBJ_NEW(pmix2x_opcaddy_t);
|
cd = OBJ_NEW(pmix2x_opcaddy_t);
|
||||||
@ -1341,6 +1336,12 @@ static void pmix2x_log(opal_list_t *info,
|
|||||||
cd->cbdata = cbdata;
|
cd->cbdata = cbdata;
|
||||||
cd->ninfo = ninfo;
|
cd->ninfo = ninfo;
|
||||||
|
|
||||||
|
/* bozo check */
|
||||||
|
if (NULL == info || 0 == (ninfo = opal_list_get_size(info))) {
|
||||||
|
rc = OPAL_ERR_BAD_PARAM;
|
||||||
|
goto CLEANUP;
|
||||||
|
}
|
||||||
|
|
||||||
/* convert the list to an array of info objects */
|
/* convert the list to an array of info objects */
|
||||||
PMIX_INFO_CREATE(cd->info, cd->ninfo);
|
PMIX_INFO_CREATE(cd->info, cd->ninfo);
|
||||||
n=0;
|
n=0;
|
||||||
@ -1351,14 +1352,19 @@ static void pmix2x_log(opal_list_t *info,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* pass it down */
|
/* pass it down */
|
||||||
PMIx_Log_nb(cd->info, cd->ninfo, NULL, 0,
|
if (PMIX_SUCCESS != (prc = PMIx_Log_nb(cd->info, cd->ninfo, NULL, 0,
|
||||||
opcbfunc, cd);
|
opcbfunc, cd))) {
|
||||||
|
/* do not hang! */
|
||||||
|
rc = pmix2x_convert_rc(prc);
|
||||||
|
goto CLEANUP;
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
|
|
||||||
CLEANUP:
|
CLEANUP:
|
||||||
if (NULL != cbfunc) {
|
if (NULL != cbfunc) {
|
||||||
cbfunc(rc, cbdata);
|
cbfunc(rc, cbdata);
|
||||||
}
|
}
|
||||||
|
OBJ_RELEASE(cd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**** INSTANTIATE INTERNAL CLASSES ****/
|
/**** INSTANTIATE INTERNAL CLASSES ****/
|
||||||
|
@ -1328,12 +1328,7 @@ static void pmix2x_log(opal_list_t *info,
|
|||||||
opal_value_t *ival;
|
opal_value_t *ival;
|
||||||
size_t n, ninfo;
|
size_t n, ninfo;
|
||||||
pmix2x_opcaddy_t *cd;
|
pmix2x_opcaddy_t *cd;
|
||||||
|
pmix_status_t prc;
|
||||||
/* bozo check */
|
|
||||||
if (NULL == info || 0 == (ninfo = opal_list_get_size(info))) {
|
|
||||||
rc = OPAL_ERR_BAD_PARAM;
|
|
||||||
goto CLEANUP;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* setup the operation */
|
/* setup the operation */
|
||||||
cd = OBJ_NEW(pmix2x_opcaddy_t);
|
cd = OBJ_NEW(pmix2x_opcaddy_t);
|
||||||
@ -1341,6 +1336,12 @@ static void pmix2x_log(opal_list_t *info,
|
|||||||
cd->cbdata = cbdata;
|
cd->cbdata = cbdata;
|
||||||
cd->ninfo = ninfo;
|
cd->ninfo = ninfo;
|
||||||
|
|
||||||
|
/* bozo check */
|
||||||
|
if (NULL == info || 0 == (ninfo = opal_list_get_size(info))) {
|
||||||
|
rc = OPAL_ERR_BAD_PARAM;
|
||||||
|
goto CLEANUP;
|
||||||
|
}
|
||||||
|
|
||||||
/* convert the list to an array of info objects */
|
/* convert the list to an array of info objects */
|
||||||
PMIX_INFO_CREATE(cd->info, cd->ninfo);
|
PMIX_INFO_CREATE(cd->info, cd->ninfo);
|
||||||
n=0;
|
n=0;
|
||||||
@ -1351,14 +1352,20 @@ static void pmix2x_log(opal_list_t *info,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* pass it down */
|
/* pass it down */
|
||||||
PMIx_Log_nb(cd->info, cd->ninfo, NULL, 0,
|
if (PMIX_SUCCESS != (prc = PMIx_Log_nb(cd->info, cd->ninfo, NULL, 0,
|
||||||
opcbfunc, cd);
|
opcbfunc, cd))) {
|
||||||
|
/* do not hang! */
|
||||||
|
rc = pmix2x_convert_rc(prc);
|
||||||
|
goto CLEANUP;
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
CLEANUP:
|
CLEANUP:
|
||||||
if (NULL != cbfunc) {
|
if (NULL != cbfunc) {
|
||||||
cbfunc(rc, cbdata);
|
cbfunc(rc, cbdata);
|
||||||
}
|
}
|
||||||
|
OBJ_RELEASE(cd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**** INSTANTIATE INTERNAL CLASSES ****/
|
/**** INSTANTIATE INTERNAL CLASSES ****/
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user