Remove exit variable from ReplicateStage

This commit is contained in:
Greg Fitzgerald 2018-07-05 16:29:49 -06:00 committed by Greg Fitzgerald
parent 81477246be
commit 46602ba9c3
2 changed files with 10 additions and 7 deletions

View File

@ -2,9 +2,9 @@
use bank::Bank;
use ledger;
use result::Result;
use result::{Error, Result};
use service::Service;
use std::sync::atomic::{AtomicBool, Ordering};
use std::sync::mpsc::RecvTimeoutError;
use std::sync::Arc;
use std::thread::{self, Builder, JoinHandle};
use std::time::Duration;
@ -29,13 +29,16 @@ impl ReplicateStage {
Ok(())
}
pub fn new(bank: Arc<Bank>, exit: Arc<AtomicBool>, window_receiver: BlobReceiver) -> Self {
pub fn new(bank: Arc<Bank>, window_receiver: BlobReceiver) -> Self {
let thread_hdl = Builder::new()
.name("solana-replicate-stage".to_string())
.spawn(move || loop {
let e = Self::replicate_requests(&bank, &window_receiver);
if e.is_err() && exit.load(Ordering::Relaxed) {
break;
if let Err(e) = Self::replicate_requests(&bank, &window_receiver) {
match e {
Error::RecvTimeoutError(RecvTimeoutError::Disconnected) => break,
Error::RecvTimeoutError(RecvTimeoutError::Timeout) => (),
_ => error!("{:?}", e),
}
}
})
.unwrap();

View File

@ -94,7 +94,7 @@ impl Tvu {
blob_receiver,
);
let replicate_stage = ReplicateStage::new(bank, exit, blob_receiver);
let replicate_stage = ReplicateStage::new(bank, blob_receiver);
Tvu {
replicate_stage,