diff options
Diffstat (limited to 'cli/ops/plugins.rs')
-rw-r--r-- | cli/ops/plugins.rs | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/cli/ops/plugins.rs b/cli/ops/plugins.rs index 8b905d786..f8c1b5bd2 100644 --- a/cli/ops/plugins.rs +++ b/cli/ops/plugins.rs @@ -46,14 +46,10 @@ pub fn op_open_plugin( let lib = open_plugin(filename).unwrap(); let plugin_resource = PluginResource { lib }; - 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 mut resource_table = isolate.resource_table.borrow_mut(); + let rid = resource_table.add("plugin", Box::new(plugin_resource)); + let plugin_resource = resource_table.get::<PluginResource>(rid).unwrap(); let deno_plugin_init = *unsafe { plugin_resource @@ -61,6 +57,8 @@ pub fn op_open_plugin( .symbol::<PluginInitFn>("deno_plugin_init") } .unwrap(); + drop(resource_table); + deno_plugin_init(isolate); Ok(JsonOp::Sync(json!(rid))) |