| 2670 | } |
| 2671 | |
| 2672 | void AdmissionController::DequeueLoop() { |
| 2673 | unique_lock<mutex> lock(admission_ctrl_lock_); |
| 2674 | while (true) { |
| 2675 | if (done_) break; |
| 2676 | while (!pending_dequeue_) { |
| 2677 | dequeue_cv_.Wait(lock); |
| 2678 | } |
| 2679 | pending_dequeue_ = false; |
| 2680 | TryDequeue(); |
| 2681 | } |
| 2682 | } |
| 2683 | |
| 2684 | void AdmissionController::TryDequeue() { |
| 2685 | ClusterMembershipMgr::SnapshotPtr membership_snapshot = |