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)
{
OPAL_MONITORING_PRINT_INFO("coll_module_init");
mca_common_monitoring_init();
return OMPI_SUCCESS;
return mca_common_monitoring_init();
}
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;
}
void mca_common_monitoring_init( void )
int mca_common_monitoring_init( void )
{
if( mca_common_monitoring_enabled &&
1 < opal_atomic_add_32(&mca_common_monitoring_hold, 1) ) return; /* Already initialized */
if( !mca_common_monitoring_enabled ) return OMPI_ERROR;
if( 1 < opal_atomic_add_32(&mca_common_monitoring_hold, 1) ) return OMPI_SUCCESS; /* Already initialized */
char hostname[OPAL_MAXHOSTNAMELEN] = "NA";
/* Initialize constant */
@ -220,6 +220,7 @@ void mca_common_monitoring_init( void )
/* Initialize proc translation hashtable */
common_monitoring_translation_ht = OBJ_NEW(opal_hash_table_t);
opal_hash_table_init(common_monitoring_translation_ht, 2048);
return OMPI_SUCCESS;
}
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;
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 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)
{
OPAL_MONITORING_PRINT_INFO("osc_component_init");
mca_common_monitoring_init();
return OMPI_SUCCESS;
return mca_common_monitoring_init();
}
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_mpi_threads)
{
mca_common_monitoring_init();
if( mca_common_monitoring_enabled ) {
if( (OMPI_SUCCESS == mca_common_monitoring_init()) &&
mca_common_monitoring_enabled ) {
*priority = 0; /* I'm up but don't select me */
return &mca_pml_monitoring_module;
}