* make btl open be safe to call multiple times (btl close already was)
* add btl back into ompi_info. Since it now directly calls the open/close, the missing symbol problems Ralph was seeing when ob1 is ignored will not occur. This commit was SVN r6652.
Этот коммит содержится в:
родитель
42f23932e0
Коммит
3f09d5f2a4
@ -69,6 +69,7 @@ char* mca_btl_base_exclude = NULL;
|
|||||||
opal_list_t mca_btl_base_components_opened;
|
opal_list_t mca_btl_base_components_opened;
|
||||||
opal_list_t mca_btl_base_modules_initialized;
|
opal_list_t mca_btl_base_modules_initialized;
|
||||||
|
|
||||||
|
static bool already_opened = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function for finding and opening either all MCA components, or the one
|
* Function for finding and opening either all MCA components, or the one
|
||||||
@ -76,6 +77,9 @@ opal_list_t mca_btl_base_modules_initialized;
|
|||||||
*/
|
*/
|
||||||
int mca_btl_base_open(void)
|
int mca_btl_base_open(void)
|
||||||
{
|
{
|
||||||
|
if (already_opened) return OMPI_SUCCESS;
|
||||||
|
already_opened = true;
|
||||||
|
|
||||||
/* Open up all available components */
|
/* Open up all available components */
|
||||||
|
|
||||||
if (OMPI_SUCCESS !=
|
if (OMPI_SUCCESS !=
|
||||||
|
@ -200,12 +200,8 @@ void ompi_info::open_components()
|
|||||||
*/
|
*/
|
||||||
component_map["ptl"] = &mca_ptl_base_components_opened;
|
component_map["ptl"] = &mca_ptl_base_components_opened;
|
||||||
|
|
||||||
#if 0
|
mca_btl_base_open();
|
||||||
/* mca_btl_base_open() should not be called directly. This call is performed
|
|
||||||
* in the PML base open.
|
|
||||||
*/
|
|
||||||
component_map["btl"] = &mca_btl_base_components_opened;
|
component_map["btl"] = &mca_btl_base_components_opened;
|
||||||
#endif
|
|
||||||
|
|
||||||
mca_topo_base_open();
|
mca_topo_base_open();
|
||||||
component_map["topo"] = &mca_topo_base_components_opened;
|
component_map["topo"] = &mca_topo_base_components_opened;
|
||||||
@ -227,7 +223,7 @@ void ompi_info::close_components()
|
|||||||
|
|
||||||
mca_topo_base_close();
|
mca_topo_base_close();
|
||||||
// the PML has to call the base PTL close function.
|
// the PML has to call the base PTL close function.
|
||||||
// the PML has to call the base BTL close function.
|
mca_btl_base_close();
|
||||||
mca_pml_base_close();
|
mca_pml_base_close();
|
||||||
mca_mpool_base_close();
|
mca_mpool_base_close();
|
||||||
mca_io_base_close();
|
mca_io_base_close();
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user