1
1

Protect the monitoring infrastructure initialization.

Этот коммит содержится в:
George Bosilca 2017-06-27 18:35:24 +02:00
родитель c885ee3f3c
Коммит f8ffec926e
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 09C926752C9F09B1
5 изменённых файлов: 9 добавлений и 10 удалений

Просмотреть файл

@ -106,8 +106,7 @@ static int mca_coll_monitoring_component_init(bool enable_progress_threads,
bool enable_mpi_threads) bool enable_mpi_threads)
{ {
OPAL_MONITORING_PRINT_INFO("coll_module_init"); OPAL_MONITORING_PRINT_INFO("coll_module_init");
mca_common_monitoring_init(); return mca_common_monitoring_init();
return OMPI_SUCCESS;
} }
static int mca_coll_monitoring_component_register(void) static int mca_coll_monitoring_component_register(void)

Просмотреть файл

@ -203,10 +203,10 @@ static int mca_common_monitoring_comm_size_notify(mca_base_pvar_t *pvar,
return OMPI_ERROR; return OMPI_ERROR;
} }
void mca_common_monitoring_init( void ) int mca_common_monitoring_init( void )
{ {
if( mca_common_monitoring_enabled && if( !mca_common_monitoring_enabled ) return OMPI_ERROR;
1 < opal_atomic_add_32(&mca_common_monitoring_hold, 1) ) return; /* Already initialized */ if( 1 < opal_atomic_add_32(&mca_common_monitoring_hold, 1) ) return OMPI_SUCCESS; /* Already initialized */
char hostname[OPAL_MAXHOSTNAMELEN] = "NA"; char hostname[OPAL_MAXHOSTNAMELEN] = "NA";
/* Initialize constant */ /* Initialize constant */
@ -220,6 +220,7 @@ void mca_common_monitoring_init( void )
/* Initialize proc translation hashtable */ /* Initialize proc translation hashtable */
common_monitoring_translation_ht = OBJ_NEW(opal_hash_table_t); common_monitoring_translation_ht = OBJ_NEW(opal_hash_table_t);
opal_hash_table_init(common_monitoring_translation_ht, 2048); opal_hash_table_init(common_monitoring_translation_ht, 2048);
return OMPI_SUCCESS;
} }
void mca_common_monitoring_finalize( void ) void mca_common_monitoring_finalize( void )

Просмотреть файл

@ -46,7 +46,7 @@ extern int mca_common_monitoring_current_state;
extern opal_hash_table_t *common_monitoring_translation_ht; extern opal_hash_table_t *common_monitoring_translation_ht;
OMPI_DECLSPEC void mca_common_monitoring_register(void*pml_monitoring_component); OMPI_DECLSPEC void mca_common_monitoring_register(void*pml_monitoring_component);
OMPI_DECLSPEC void mca_common_monitoring_init( void ); OMPI_DECLSPEC int mca_common_monitoring_init( void );
OMPI_DECLSPEC void mca_common_monitoring_finalize( void ); OMPI_DECLSPEC void mca_common_monitoring_finalize( void );
OMPI_DECLSPEC int mca_common_monitoring_add_procs(struct ompi_proc_t **procs, size_t nprocs); OMPI_DECLSPEC int mca_common_monitoring_add_procs(struct ompi_proc_t **procs, size_t nprocs);

Просмотреть файл

@ -46,8 +46,7 @@ static int mca_osc_monitoring_component_init(bool enable_progress_threads,
bool enable_mpi_threads) bool enable_mpi_threads)
{ {
OPAL_MONITORING_PRINT_INFO("osc_component_init"); OPAL_MONITORING_PRINT_INFO("osc_component_init");
mca_common_monitoring_init(); return mca_common_monitoring_init();
return OMPI_SUCCESS;
} }
static int mca_osc_monitoring_component_finish(void) static int mca_osc_monitoring_component_finish(void)

Просмотреть файл

@ -144,8 +144,8 @@ mca_pml_monitoring_component_init(int* priority,
bool enable_progress_threads, bool enable_progress_threads,
bool enable_mpi_threads) bool enable_mpi_threads)
{ {
mca_common_monitoring_init(); if( (OMPI_SUCCESS == mca_common_monitoring_init()) &&
if( mca_common_monitoring_enabled ) { mca_common_monitoring_enabled ) {
*priority = 0; /* I'm up but don't select me */ *priority = 0; /* I'm up but don't select me */
return &mca_pml_monitoring_module; return &mca_pml_monitoring_module;
} }