|
@@ -52,6 +52,10 @@ impl<C: 'static + Clone + Default + Send + serde::Serialize> Raft<C> {
|
|
|
std::thread::spawn(move || loop {
|
|
std::thread::spawn(move || loop {
|
|
|
parker.park();
|
|
parker.park();
|
|
|
if !keep_running.load(Ordering::SeqCst) {
|
|
if !keep_running.load(Ordering::SeqCst) {
|
|
|
|
|
+ // Explicitly drop every thing.
|
|
|
|
|
+ drop(keep_running);
|
|
|
|
|
+ drop(rf);
|
|
|
|
|
+ drop(persister);
|
|
|
drop(stop_wait_group);
|
|
drop(stop_wait_group);
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|