浏览代码

Lock request queue before taking a moment to maintain order.

Jing Yang 3 年之前
父节点
当前提交
9162f177fa
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      src/verify_authority.rs

+ 1 - 1
src/verify_authority.rs

@@ -111,6 +111,7 @@ impl VerifyAuthorityDaemon {
         current_term: Term,
         commit_index: Index,
     ) -> Option<tokio::sync::oneshot::Receiver<VerifyAuthorityResult>> {
+        let mut state = self.state.lock();
         // The inflight beats are sent at least for `current_term`. This is
         // guaranteed by the fact that we immediately increase beats for all
         // peers after being elected, before releasing the "elected" message to
@@ -130,7 +131,6 @@ impl VerifyAuthorityDaemon {
         // `state.term` could be greater than `current_term`, if we lost
         // leadership but are elected leader again in a following term.
         // In both cases, we cannot confirm the leadership at `current_term`.
-        let mut state = self.state.lock();
         if state.term != current_term {
             return None;
         }