Skip to content

Commit f8ffec9

Browse files
committed
Protect the monitoring infrastructure initialization.
1 parent c885ee3 commit f8ffec9

File tree

5 files changed

+9
-10
lines changed

5 files changed

+9
-10
lines changed

ompi/mca/coll/monitoring/coll_monitoring_component.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,7 @@ static int mca_coll_monitoring_component_init(bool enable_progress_threads,
106106
bool enable_mpi_threads)
107107
{
108108
OPAL_MONITORING_PRINT_INFO("coll_module_init");
109-
mca_common_monitoring_init();
110-
return OMPI_SUCCESS;
109+
return mca_common_monitoring_init();
111110
}
112111

113112
static int mca_coll_monitoring_component_register(void)

ompi/mca/common/monitoring/common_monitoring.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,10 +203,10 @@ static int mca_common_monitoring_comm_size_notify(mca_base_pvar_t *pvar,
203203
return OMPI_ERROR;
204204
}
205205

206-
void mca_common_monitoring_init( void )
206+
int mca_common_monitoring_init( void )
207207
{
208-
if( mca_common_monitoring_enabled &&
209-
1 < opal_atomic_add_32(&mca_common_monitoring_hold, 1) ) return; /* Already initialized */
208+
if( !mca_common_monitoring_enabled ) return OMPI_ERROR;
209+
if( 1 < opal_atomic_add_32(&mca_common_monitoring_hold, 1) ) return OMPI_SUCCESS; /* Already initialized */
210210

211211
char hostname[OPAL_MAXHOSTNAMELEN] = "NA";
212212
/* Initialize constant */
@@ -220,6 +220,7 @@ void mca_common_monitoring_init( void )
220220
/* Initialize proc translation hashtable */
221221
common_monitoring_translation_ht = OBJ_NEW(opal_hash_table_t);
222222
opal_hash_table_init(common_monitoring_translation_ht, 2048);
223+
return OMPI_SUCCESS;
223224
}
224225

225226
void mca_common_monitoring_finalize( void )

ompi/mca/common/monitoring/common_monitoring.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ extern int mca_common_monitoring_current_state;
4646
extern opal_hash_table_t *common_monitoring_translation_ht;
4747

4848
OMPI_DECLSPEC void mca_common_monitoring_register(void*pml_monitoring_component);
49-
OMPI_DECLSPEC void mca_common_monitoring_init( void );
49+
OMPI_DECLSPEC int mca_common_monitoring_init( void );
5050
OMPI_DECLSPEC void mca_common_monitoring_finalize( void );
5151
OMPI_DECLSPEC int mca_common_monitoring_add_procs(struct ompi_proc_t **procs, size_t nprocs);
5252

ompi/mca/osc/monitoring/osc_monitoring_component.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,7 @@ static int mca_osc_monitoring_component_init(bool enable_progress_threads,
4646
bool enable_mpi_threads)
4747
{
4848
OPAL_MONITORING_PRINT_INFO("osc_component_init");
49-
mca_common_monitoring_init();
50-
return OMPI_SUCCESS;
49+
return mca_common_monitoring_init();
5150
}
5251

5352
static int mca_osc_monitoring_component_finish(void)

ompi/mca/pml/monitoring/pml_monitoring_component.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,8 @@ mca_pml_monitoring_component_init(int* priority,
144144
bool enable_progress_threads,
145145
bool enable_mpi_threads)
146146
{
147-
mca_common_monitoring_init();
148-
if( mca_common_monitoring_enabled ) {
147+
if( (OMPI_SUCCESS == mca_common_monitoring_init()) &&
148+
mca_common_monitoring_enabled ) {
149149
*priority = 0; /* I'm up but don't select me */
150150
return &mca_pml_monitoring_module;
151151
}

0 commit comments

Comments
 (0)