@@ -390,12 +390,11 @@ struct BlockstoreRootScan {
390390}
391391
392392impl BlockstoreRootScan {
393- fn new ( config : & ValidatorConfig , blockstore : & Arc < Blockstore > , exit : Arc < AtomicBool > ) -> Self {
393+ fn new ( config : & ValidatorConfig , blockstore : Arc < Blockstore > , exit : Arc < AtomicBool > ) -> Self {
394394 let thread = if config. rpc_addrs . is_some ( )
395395 && config. rpc_config . enable_rpc_transaction_history
396396 && config. rpc_config . rpc_scan_and_fix_roots
397397 {
398- let blockstore = blockstore. clone ( ) ;
399398 Some (
400399 Builder :: new ( )
401400 . name ( "solBStoreRtScan" . to_string ( ) )
@@ -822,7 +821,7 @@ impl Validator {
822821 if config. rpc_addrs . is_some ( ) && config. rpc_config . enable_rpc_transaction_history {
823822 Some ( SamplePerformanceService :: new (
824823 & bank_forks,
825- & blockstore,
824+ blockstore. clone ( ) ,
826825 exit. clone ( ) ,
827826 ) )
828827 } else {
@@ -1222,7 +1221,7 @@ impl Validator {
12221221 & rpc_subscriptions,
12231222 transaction_status_sender,
12241223 entry_notification_sender,
1225- & blockstore,
1224+ blockstore. clone ( ) ,
12261225 & config. broadcast_stage_type ,
12271226 exit,
12281227 node. info . shred_version ( ) ,
@@ -1645,7 +1644,7 @@ fn load_blockstore(
16451644 let original_blockstore_root = blockstore. last_root ( ) ;
16461645
16471646 let blockstore = Arc :: new ( blockstore) ;
1648- let blockstore_root_scan = BlockstoreRootScan :: new ( config, & blockstore, exit. clone ( ) ) ;
1647+ let blockstore_root_scan = BlockstoreRootScan :: new ( config, blockstore. clone ( ) , exit. clone ( ) ) ;
16491648 let halt_at_slot = config
16501649 . halt_at_slot
16511650 . or_else ( || blockstore. highest_slot ( ) . unwrap_or ( None ) ) ;
0 commit comments