diff --git a/src/plugins/select/bluegene/bl_bgq/bridge_status.cc b/src/plugins/select/bluegene/bl_bgq/bridge_status.cc index 7d92411296d9ece5e200115f0e74652459892560..5138f8cd59c2e947256483fa9f3e9c2dca102847 100644 --- a/src/plugins/select/bluegene/bl_bgq/bridge_status.cc +++ b/src/plugins/select/bluegene/bl_bgq/bridge_status.cc @@ -1077,9 +1077,10 @@ static void _do_hardware_poll(int level, uint16_t *coords, if (delete_list) { bool delete_it = 0; - if (bg_conf->layout_mode == LAYOUT_DYNAMIC) + if (initial_poll && bg_conf->sub_mp_sys) delete_it = 1; - free_block_list(NO_VAL, delete_list, delete_it, 0); + + free_block_list(NO_VAL, delete_list, 1, 0); list_destroy(delete_list); } } @@ -1285,10 +1286,7 @@ void event_handler::handleMidplaneStateChangedRealtimeEvent( } if (delete_list) { - bool delete_it = 0; - if (bg_conf->layout_mode == LAYOUT_DYNAMIC) - delete_it = 1; - free_block_list(NO_VAL, delete_list, delete_it, 0); + free_block_list(NO_VAL, delete_list, 0, 0); list_destroy(delete_list); } @@ -1471,11 +1469,7 @@ void event_handler::handleNodeStateChangedRealtimeEvent( bg_status_process_kill_job_list(kill_job_list, 0); if (delete_list) { - /* The only reason blocks are added to this list is if - there are missing cnodes on the block so remove - them from the mix. - */ - free_block_list(NO_VAL, delete_list, 1, 0); + free_block_list(NO_VAL, delete_list, 0, 0); list_destroy(delete_list); } @@ -1526,10 +1520,7 @@ void event_handler::handleTorusCableStateChangedRealtimeEvent( slurm_mutex_unlock(&block_state_mutex); if (delete_list) { - bool delete_it = 0; - if (bg_conf->layout_mode == LAYOUT_DYNAMIC) - delete_it = 1; - free_block_list(NO_VAL, delete_list, delete_it, 0); + free_block_list(NO_VAL, delete_list, 0, 0); list_destroy(delete_list); } return;