From cdba5ab6fc633606aaa6f95d0825832c3ac6fe5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Sat, 8 Feb 2020 20:34:31 +0100 Subject: refactor: rename ThreadSafeState, use RefCell for mutable state (#3931) * rename ThreadSafeState to State * State stores InnerState wrapped in Rc and RefCell --- cli/ops/plugins.rs | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'cli/ops/plugins.rs') diff --git a/cli/ops/plugins.rs b/cli/ops/plugins.rs index 24a59917e..ecaa66b53 100644 --- a/cli/ops/plugins.rs +++ b/cli/ops/plugins.rs @@ -1,7 +1,7 @@ use super::dispatch_json::{Deserialize, JsonOp, Value}; use crate::fs as deno_fs; use crate::ops::json_op; -use crate::state::ThreadSafeState; +use crate::state::State; use deno_core::*; use dlopen::symbor::Library; use std::collections::HashMap; @@ -9,11 +9,7 @@ use std::ffi::OsStr; use std::path::Path; use std::sync::Arc; -pub fn init( - i: &mut Isolate, - s: &ThreadSafeState, - r: Arc, -) { +pub fn init(i: &mut Isolate, s: &State, r: Arc) { let r_ = r; i.register_op( "open_plugin", @@ -56,7 +52,7 @@ struct OpenPluginArgs { pub fn op_open_plugin( registry: &Arc, - state: &ThreadSafeState, + state: &State, args: Value, _zero_copy: Option, ) -> Result { @@ -70,9 +66,14 @@ pub fn op_open_plugin( lib, ops: HashMap::new(), }; - let mut table = state.lock_resource_table(); - let rid = table.add("plugin", Box::new(plugin_resource)); - let plugin_resource = table.get_mut::(rid).unwrap(); + let mut state_ = state.borrow_mut(); + let rid = state_ + .resource_table + .add("plugin", Box::new(plugin_resource)); + let plugin_resource = state_ + .resource_table + .get_mut::(rid) + .unwrap(); let init_fn = *unsafe { plugin_resource -- cgit v1.2.3