Limit sticky mutex to WriteStage

This commit is contained in:
Greg Fitzgerald
2018-07-01 10:55:16 -07:00
committed by Greg Fitzgerald
parent 17de79a83a
commit 56e37ad2f4
2 changed files with 17 additions and 14 deletions

View File

@@ -49,24 +49,27 @@ impl WriteStage {
bank: Arc<Bank>,
exit: Arc<AtomicBool>,
blob_recycler: BlobRecycler,
writer: Mutex<W>,
writer: W,
entry_receiver: Receiver<Vec<Entry>>,
) -> Self {
let (blob_sender, blob_receiver) = channel();
let thread_hdl = Builder::new()
.name("solana-writer".to_string())
.spawn(move || loop {
.spawn(move || {
let entry_writer = EntryWriter::new(&bank);
let _ = Self::write_and_send_entries(
&entry_writer,
&blob_sender,
&blob_recycler,
&writer,
&entry_receiver,
);
if exit.load(Ordering::Relaxed) {
info!("broadcat_service exiting");
break;
let writer = Mutex::new(writer);
loop {
let _ = Self::write_and_send_entries(
&entry_writer,
&blob_sender,
&blob_recycler,
&writer,
&entry_receiver,
);
if exit.load(Ordering::Relaxed) {
info!("broadcat_service exiting");
break;
}
}
})
.unwrap();