summaryrefslogtreecommitdiff
path: root/cli/ops/plugins.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2020-02-08 20:34:31 +0100
committerGitHub <noreply@github.com>2020-02-08 20:34:31 +0100
commitcdba5ab6fc633606aaa6f95d0825832c3ac6fe5c (patch)
treee8dee2801e14b65b2da6aca62e39cd3d3ac2a786 /cli/ops/plugins.rs
parent619a24390ff15d5ea5e577a4d0391823f94e8592 (diff)
refactor: rename ThreadSafeState, use RefCell for mutable state (#3931)
* rename ThreadSafeState to State * State stores InnerState wrapped in Rc and RefCell
Diffstat (limited to 'cli/ops/plugins.rs')
-rw-r--r--cli/ops/plugins.rs21
1 files changed, 11 insertions, 10 deletions
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<deno_core::OpRegistry>,
-) {
+pub fn init(i: &mut Isolate, s: &State, r: Arc<deno_core::OpRegistry>) {
let r_ = r;
i.register_op(
"open_plugin",
@@ -56,7 +52,7 @@ struct OpenPluginArgs {
pub fn op_open_plugin(
registry: &Arc<deno_core::OpRegistry>,
- state: &ThreadSafeState,
+ state: &State,
args: Value,
_zero_copy: Option<ZeroCopyBuf>,
) -> Result<JsonOp, ErrBox> {
@@ -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::<PluginResource>(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::<PluginResource>(rid)
+ .unwrap();
let init_fn = *unsafe {
plugin_resource