From 3d5bed35e032ee20e4fe34cad925202c6f0c0d3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Tue, 18 Feb 2020 14:47:11 -0500 Subject: refactor: remove run_worker_loop (#4028) * remove run_worker_loop, impl poll for WebWorker * store JoinHandle to worker thread --- cli/state.rs | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) (limited to 'cli/state.rs') diff --git a/cli/state.rs b/cli/state.rs index 93eaaab43..7f342a9b1 100644 --- a/cli/state.rs +++ b/cli/state.rs @@ -30,8 +30,7 @@ use std::path::Path; use std::pin::Pin; use std::rc::Rc; use std::str; -use std::sync::atomic::AtomicUsize; -use std::sync::atomic::Ordering; +use std::thread::JoinHandle; use std::time::Instant; #[derive(Clone)] @@ -54,8 +53,8 @@ pub struct StateInner { pub import_map: Option, pub metrics: Metrics, pub global_timer: GlobalTimer, - pub workers: HashMap, - pub next_worker_id: AtomicUsize, + pub workers: HashMap, WorkerHandle)>, + pub next_worker_id: u32, pub start_time: Instant, pub seeded_rng: Option, pub resource_table: ResourceTable, @@ -231,7 +230,7 @@ impl State { metrics: Metrics::default(), global_timer: GlobalTimer::new(), workers: HashMap::new(), - next_worker_id: AtomicUsize::new(0), + next_worker_id: 0, start_time: Instant::now(), seeded_rng, @@ -267,7 +266,7 @@ impl State { metrics: Metrics::default(), global_timer: GlobalTimer::new(), workers: HashMap::new(), - next_worker_id: AtomicUsize::new(0), + next_worker_id: 0, start_time: Instant::now(), seeded_rng, @@ -278,14 +277,6 @@ impl State { Ok(Self(state)) } - pub fn add_child_worker(&self, handle: WorkerHandle) -> u32 { - let mut inner_state = self.borrow_mut(); - let worker_id = - inner_state.next_worker_id.fetch_add(1, Ordering::Relaxed) as u32; - inner_state.workers.insert(worker_id, handle); - worker_id - } - #[inline] pub fn check_read(&self, path: &Path) -> Result<(), ErrBox> { self.borrow().permissions.check_read(path) -- cgit v1.2.3