diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2019-03-14 19:17:52 -0400 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2019-03-18 17:17:08 -0400 |
commit | 44773c9b0fe4ae90089c87aa46d049a0a58cccce (patch) | |
tree | 34bd66dc66dd59b9acd4bb0a48ea576610187e05 /src/compiler.rs | |
parent | 33438b83a2a2597c2b9918475dd5362faa5c1728 (diff) |
Integrate //core into existing code base
This disables a few tests which are broken still:
- tests/error_004_missing_module.test
- tests/error_005_missing_dynamic_import.test
- tests/error_006_import_ext_failure.test
- repl_test test_set_timeout
- repl_test test_async_op
- repl_test test_set_timeout_interlaced
- all of permission_prompt_test
Diffstat (limited to 'src/compiler.rs')
-rw-r--r-- | src/compiler.rs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/compiler.rs b/src/compiler.rs index dab166f47..9edae8cf9 100644 --- a/src/compiler.rs +++ b/src/compiler.rs @@ -1,18 +1,16 @@ // Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. -use crate::isolate::Buf; -use crate::isolate::IsolateState; +use crate::cli::Buf; use crate::isolate_init; +use crate::isolate_state::IsolateState; use crate::msg; use crate::permissions::{DenoPermissions, PermissionAccessor}; use crate::resources; use crate::resources::Resource; use crate::resources::ResourceId; use crate::workers; - use futures::Future; use serde_json; use std::str; -use std::sync::Arc; use std::sync::Mutex; lazy_static! { @@ -48,7 +46,7 @@ impl ModuleMetaData { } } -fn lazy_start(parent_state: &Arc<IsolateState>) -> Resource { +fn lazy_start(parent_state: &IsolateState) -> Resource { let mut cell = C_RID.lock().unwrap(); let isolate_init = isolate_init::compiler_isolate_init(); let permissions = DenoPermissions { @@ -57,10 +55,11 @@ fn lazy_start(parent_state: &Arc<IsolateState>) -> Resource { allow_net: PermissionAccessor::from(true), ..Default::default() }; + let rid = cell.get_or_insert_with(|| { let resource = workers::spawn( isolate_init, - parent_state.clone(), + parent_state, "compilerMain()".to_string(), permissions, ); @@ -79,7 +78,7 @@ fn req(specifier: &str, referrer: &str) -> Buf { } pub fn compile_sync( - parent_state: &Arc<IsolateState>, + parent_state: &IsolateState, specifier: &str, referrer: &str, module_meta_data: &ModuleMetaData, @@ -92,7 +91,9 @@ pub fn compile_sync( send_future.wait().unwrap(); let recv_future = resources::worker_recv_message(compiler.rid); - let res_msg = recv_future.wait().unwrap().unwrap(); + let result = recv_future.wait().unwrap(); + assert!(result.is_some()); + let res_msg = result.unwrap(); let res_json = std::str::from_utf8(&res_msg).unwrap(); match serde_json::from_str::<serde_json::Value>(res_json) { |