Move Modules to ThreadSafeState (#2498)

This commit is contained in:
Ryan Dahl 2019-06-11 14:35:03 -04:00 committed by GitHub
parent 508e9849ff
commit de8c85f8f2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 4 deletions

View File

@ -126,7 +126,8 @@ pub fn print_file_info(
);
}
if let Some(deps) = worker.modules.lock().unwrap().deps(&out.module_name)
if let Some(deps) =
worker.state.modules.lock().unwrap().deps(&out.module_name)
{
println!("{}{}", ansi::bold("deps:\n".to_string()), deps.name);
if let Some(ref depsdeps) = deps.deps {

View File

@ -60,6 +60,7 @@ pub struct ThreadSafeState(Arc<State>);
#[cfg_attr(feature = "cargo-clippy", allow(stutter))]
pub struct State {
pub modules: Arc<Mutex<deno::Modules>>,
pub main_module: Option<String>,
pub dir: deno_dir::DenoDir,
pub argv: Vec<String>,
@ -303,8 +304,11 @@ impl ThreadSafeState {
seeded_rng = Some(Mutex::new(StdRng::seed_from_u64(seed)));
};
let modules = Arc::new(Mutex::new(deno::Modules::new()));
ThreadSafeState(Arc::new(State {
main_module,
modules,
dir,
argv: argv_rest,
permissions: DenoPermissions::from_flags(&flags),

View File

@ -19,7 +19,6 @@ use url::Url;
#[derive(Clone)]
pub struct Worker {
inner: Arc<Mutex<deno::Isolate>>,
pub modules: Arc<Mutex<deno::Modules>>,
pub state: ThreadSafeState,
}
@ -36,7 +35,6 @@ impl Worker {
});
Self {
inner: Arc::new(Mutex::new(deno::Isolate::new(startup_data, config))),
modules: Arc::new(Mutex::new(deno::Modules::new())),
state,
}
}
@ -67,7 +65,7 @@ impl Worker {
let worker_ = worker.clone();
let loader = self.state.clone();
let isolate = self.inner.clone();
let modules = self.modules.clone();
let modules = self.state.modules.clone();
let recursive_load =
deno::RecursiveLoad::new(js_url.as_str(), loader, isolate, modules);
recursive_load