diff options
Diffstat (limited to 'cli/ops')
-rw-r--r-- | cli/ops/web_worker.rs | 11 | ||||
-rw-r--r-- | cli/ops/worker_host.rs | 3 |
2 files changed, 5 insertions, 9 deletions
diff --git a/cli/ops/web_worker.rs b/cli/ops/web_worker.rs index db7086c59..7bfc70a84 100644 --- a/cli/ops/web_worker.rs +++ b/cli/ops/web_worker.rs @@ -7,8 +7,6 @@ use crate::state::ThreadSafeState; use deno_core::*; use futures; use futures::future::FutureExt; -use futures::sink::SinkExt; -use futures::stream::StreamExt; use std; use std::convert::From; @@ -31,8 +29,8 @@ fn op_worker_get_message( ) -> Result<JsonOp, ErrBox> { let state_ = state.clone(); let op = async move { - let mut receiver = state_.worker_channels.receiver.lock().await; - let maybe_buf = receiver.next().await; + let c = state_.worker_channels_internal.lock().unwrap(); + let maybe_buf = c.as_ref().unwrap().get_message().await; debug!("op_worker_get_message"); Ok(json!({ "data": maybe_buf })) }; @@ -47,8 +45,9 @@ fn op_worker_post_message( data: Option<ZeroCopyBuf>, ) -> Result<JsonOp, ErrBox> { let d = Vec::from(data.unwrap().as_ref()).into_boxed_slice(); - let mut sender = state.worker_channels.sender.clone(); - futures::executor::block_on(sender.send(d)) + let c = state.worker_channels_internal.lock().unwrap(); + let fut = c.as_ref().unwrap().post_message(d); + futures::executor::block_on(fut) .map_err(|e| DenoError::new(ErrorKind::Other, e.to_string()))?; Ok(JsonOp::Sync(json!({}))) diff --git a/cli/ops/worker_host.rs b/cli/ops/worker_host.rs index b033b9ed9..c1dcd6aaa 100644 --- a/cli/ops/worker_host.rs +++ b/cli/ops/worker_host.rs @@ -99,12 +99,10 @@ fn op_create_worker( result.unwrap() }; - let (int, ext) = ThreadSafeState::create_channels(); let result = ThreadSafeState::new_for_worker( parent_state.global_state.clone(), Some(parent_state.permissions.clone()), // by default share with parent module_specifier.clone(), - int, ); if let Err(err) = result { load_sender.send(Err(err)).unwrap(); @@ -122,7 +120,6 @@ fn op_create_worker( worker_name.to_string(), startup_data::deno_isolate_init(), child_state, - ext, ); let script = format!("bootstrapWorkerRuntime(\"{}\")", worker_name); js_check(worker.execute(&script)); |