aboutsummaryrefslogtreecommitdiff
path: root/crates/rust-analyzer/src/global_state.rs
diff options
context:
space:
mode:
authorBoris-Chengbiao Zhou <[email protected]>2021-04-29 20:12:48 +0100
committerBoris-Chengbiao Zhou <[email protected]>2021-04-30 15:48:11 +0100
commitce8c6c47626c3fee3ca49fb3aec4f2c588b3db7a (patch)
treeedef60a908a63d56487488a4e4a146f6f0e0d57b /crates/rust-analyzer/src/global_state.rs
parent80bee14e14f67f02746befff77a8a4bbfd3e5849 (diff)
Ensure that only one cache priming task can run at a time
Fixes #8632.
Diffstat (limited to 'crates/rust-analyzer/src/global_state.rs')
-rw-r--r--crates/rust-analyzer/src/global_state.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/crates/rust-analyzer/src/global_state.rs b/crates/rust-analyzer/src/global_state.rs
index adeb7a97e..6f2f482c1 100644
--- a/crates/rust-analyzer/src/global_state.rs
+++ b/crates/rust-analyzer/src/global_state.rs
@@ -84,6 +84,7 @@ pub(crate) struct GlobalState {
84 pub(crate) workspace_build_data: Option<BuildDataResult>, 84 pub(crate) workspace_build_data: Option<BuildDataResult>,
85 pub(crate) fetch_build_data_queue: 85 pub(crate) fetch_build_data_queue:
86 OpQueue<BuildDataCollector, Option<anyhow::Result<BuildDataResult>>>, 86 OpQueue<BuildDataCollector, Option<anyhow::Result<BuildDataResult>>>,
87 pub(crate) prime_caches_queue: OpQueue<(), ()>,
87 88
88 latest_requests: Arc<RwLock<LatestRequests>>, 89 latest_requests: Arc<RwLock<LatestRequests>>,
89} 90}
@@ -146,6 +147,7 @@ impl GlobalState {
146 workspaces: Arc::new(Vec::new()), 147 workspaces: Arc::new(Vec::new()),
147 fetch_workspaces_queue: OpQueue::default(), 148 fetch_workspaces_queue: OpQueue::default(),
148 workspace_build_data: None, 149 workspace_build_data: None,
150 prime_caches_queue: OpQueue::default(),
149 151
150 fetch_build_data_queue: OpQueue::default(), 152 fetch_build_data_queue: OpQueue::default(),
151 latest_requests: Default::default(), 153 latest_requests: Default::default(),