@@ -389,18 +389,13 @@ mca_btl_portals4_add_procs(struct mca_btl_base_module_t* btl_base,
389
389
struct mca_btl_portals4_module_t * portals4_btl = (struct mca_btl_portals4_module_t * ) btl_base ;
390
390
int ret ;
391
391
size_t i ;
392
- bool need_activate = false;
393
392
394
393
opal_output_verbose (50 , opal_btl_base_framework .framework_output ,
395
394
"mca_btl_portals4_add_procs: Adding %d procs (%d) for NI %d" ,
396
395
(int ) nprocs ,
397
396
(int ) portals4_btl -> portals_num_procs ,
398
397
portals4_btl -> interface_num );
399
398
400
- if (0 == portals4_btl -> portals_num_procs ) {
401
- need_activate = true;
402
- }
403
-
404
399
/*
405
400
* The PML handed us a list of procs that need Portals4
406
401
* peer info. Complete those procs here.
@@ -435,7 +430,7 @@ mca_btl_portals4_add_procs(struct mca_btl_base_module_t* btl_base,
435
430
portals4_btl -> interface_num ));
436
431
}
437
432
438
- if (need_activate && portals4_btl -> portals_num_procs > 0 ) {
433
+ if (mca_btl_portals4_component . need_init && portals4_btl -> portals_num_procs > 0 ) {
439
434
if (mca_btl_portals4_component .use_logical ) {
440
435
ret = create_maptable (portals4_btl , nprocs , procs , btl_peer_data );
441
436
if (OPAL_SUCCESS != ret ) {
@@ -453,6 +448,7 @@ mca_btl_portals4_add_procs(struct mca_btl_base_module_t* btl_base,
453
448
__FILE__ , __LINE__ , ret );
454
449
return ret ;
455
450
}
451
+ mca_btl_portals4_component .need_init = 0 ;
456
452
}
457
453
458
454
return OPAL_SUCCESS ;
@@ -479,9 +475,6 @@ mca_btl_portals4_del_procs(struct mca_btl_base_module_t *btl,
479
475
OPAL_THREAD_ADD_FETCH32 (& portals4_btl -> portals_num_procs , -1 );
480
476
}
481
477
482
- if (0 == portals4_btl -> portals_num_procs )
483
- mca_btl_portals4_free_module (portals4_btl );
484
-
485
478
return OPAL_SUCCESS ;
486
479
}
487
480
0 commit comments