Fix an issue with recursive calls into the component progress caused by btls sometimes calling opal_progress()
during their send calls by dropping the loop through the list of pending control messages if any are marked as completed. Refs trac:784 This commit was SVN r13159. The following Trac tickets were found above: Ticket 784 --> https://svn.open-mpi.org/trac/ompi/ticket/784
Этот коммит содержится в:
родитель
da82359446
Коммит
c1be97199b
@ -769,6 +769,13 @@ ompi_osc_pt2pt_progress(void)
|
||||
item = opal_list_remove_item(&module->p2p_pending_control_sends,
|
||||
item);
|
||||
buffer->cbfunc(buffer);
|
||||
/* it's possible that cbfunc is going to do something
|
||||
that calls progress, which means our loop is
|
||||
probably hosed up because it's possible that the
|
||||
list changed under us. It's either exit the loop
|
||||
through the list or start all over again. I'm
|
||||
going with exit. */
|
||||
break;
|
||||
}
|
||||
}
|
||||
} while (OMPI_SUCCESS ==
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user