Fix the case where n=1
This commit was SVN r26258.
Этот коммит содержится в:
родитель
5f5c23e3e5
Коммит
f5cd996b91
@ -211,8 +211,11 @@ static int bad_allgather(orte_grpcomm_collective_t *gather)
|
||||
"%s grpcomm:bad entering allgather",
|
||||
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
|
||||
|
||||
/* if I am alone, just fire callback */
|
||||
if (1 == orte_process_info.num_procs) {
|
||||
/* if I am alone and nobody else is participating, then
|
||||
* nothing really to do
|
||||
*/
|
||||
if (1 == orte_process_info.num_procs &&
|
||||
0 == opal_list_get_size(&gather->participants)) {
|
||||
gather->active = false;
|
||||
if (NULL != gather->cbfunc) {
|
||||
gather->cbfunc(&gather->buffer, gather->cbdata);
|
||||
|
@ -161,7 +161,6 @@ int orte_grpcomm_base_modex(orte_grpcomm_collective_t *modex)
|
||||
return ORTE_SUCCESS;
|
||||
|
||||
cleanup:
|
||||
OBJ_RELEASE(modex);
|
||||
return rc;
|
||||
}
|
||||
|
||||
@ -372,7 +371,9 @@ void orte_grpcomm_base_store_peer_modex(opal_buffer_t *rbuf, void *cbdata)
|
||||
cleanup:
|
||||
/* flag the collective as complete */
|
||||
modex->active = false;
|
||||
/* cleanup */
|
||||
/* cleanup the list, but don't release the
|
||||
* collective object as it was passed into us
|
||||
*/
|
||||
opal_list_remove_item(&orte_grpcomm_base.active_colls, &modex->super);
|
||||
/* notify that the modex is complete */
|
||||
if (NULL != modex->cbfunc) {
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user