From 9a437f0d3851494a8de5576a0299c396910a82c3 Mon Sep 17 00:00:00 2001 From: Greg Fitzgerald Date: Fri, 23 Mar 2018 21:49:28 -0600 Subject: [PATCH] Revive silk-testnode --- src/accountant_skel.rs | 4 ++-- src/accountant_stub.rs | 7 ++----- src/bin/testnode.rs | 5 ++++- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/accountant_skel.rs b/src/accountant_skel.rs index 6ff75b830..e52b887df 100644 --- a/src/accountant_skel.rs +++ b/src/accountant_skel.rs @@ -134,7 +134,7 @@ impl AccountantSkel { obj: Arc>, addr: &str, exit: Arc, - ) -> Result<[Arc>; 3]> { + ) -> Result>> { let read = UdpSocket::bind(addr)?; // make sure we are on the same interface let mut local = read.local_addr()?; @@ -158,6 +158,6 @@ impl AccountantSkel { } } }); - Ok([Arc::new(t_receiver), Arc::new(t_sender), Arc::new(t_server)]) + Ok(vec![t_receiver, t_sender, t_server]) } } diff --git a/src/accountant_stub.rs b/src/accountant_stub.rs index 7ca067866..8bed5a20c 100644 --- a/src/accountant_stub.rs +++ b/src/accountant_stub.rs @@ -149,11 +149,8 @@ mod tests { acc.wait_on_signature(&sig, &last_id).unwrap(); assert_eq!(acc.get_balance(&bob_pubkey).unwrap().unwrap(), 500); exit.store(true, Ordering::Relaxed); - for t in threads.iter() { - match Arc::try_unwrap((*t).clone()) { - Ok(j) => j.join().expect("join"), - _ => (), - } + for t in threads { + t.join().expect("join"); } } } diff --git a/src/bin/testnode.rs b/src/bin/testnode.rs index b9204e7e5..43b397d19 100644 --- a/src/bin/testnode.rs +++ b/src/bin/testnode.rs @@ -18,5 +18,8 @@ fn main() { let exit = Arc::new(AtomicBool::new(false)); let skel = Arc::new(Mutex::new(AccountantSkel::new(acc))); eprintln!("Listening on {}", addr); - let _threads = AccountantSkel::serve(skel, addr, exit.clone()).unwrap(); + let threads = AccountantSkel::serve(skel, addr, exit.clone()).unwrap(); + for t in threads { + t.join().expect("join"); + } }