summaryrefslogtreecommitdiff
path: root/cli/ops/tty.rs
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2020-04-21 09:48:44 -0400
committerGitHub <noreply@github.com>2020-04-21 09:48:44 -0400
commitcc1720132a9c875d377c559d301bccdda2fb71c1 (patch)
treebba93c08ab0eaea148e754381b5a668f1a88ca28 /cli/ops/tty.rs
parentef6ee25e09c902e1f9d89a40cf05660432e7143c (diff)
Move resource_table from deno::State to deno_core::Isolate (#4834)
Diffstat (limited to 'cli/ops/tty.rs')
-rw-r--r--cli/ops/tty.rs25
1 files changed, 12 insertions, 13 deletions
diff --git a/cli/ops/tty.rs b/cli/ops/tty.rs
index 90fa2bde3..54b3eca5f 100644
--- a/cli/ops/tty.rs
+++ b/cli/ops/tty.rs
@@ -2,7 +2,6 @@ use super::dispatch_json::JsonOp;
use super::io::std_file_resource;
use super::io::{StreamResource, StreamResourceHolder};
use crate::op_error::OpError;
-use crate::ops::json_op;
use crate::state::State;
use deno_core::*;
#[cfg(unix)]
@@ -35,8 +34,8 @@ fn get_windows_handle(
}
pub fn init(i: &mut Isolate, s: &State) {
- i.register_op("op_set_raw", s.core_op(json_op(s.stateful_op(op_set_raw))));
- i.register_op("op_isatty", s.core_op(json_op(s.stateful_op(op_isatty))));
+ i.register_op("op_set_raw", s.stateful_json_op2(op_set_raw));
+ i.register_op("op_isatty", s.stateful_json_op2(op_isatty));
}
#[derive(Deserialize)]
@@ -46,7 +45,8 @@ struct SetRawArgs {
}
pub fn op_set_raw(
- state_: &State,
+ isolate: &mut deno_core::Isolate,
+ _state: &State,
args: Value,
_zero_copy: Option<ZeroCopyBuf>,
) -> Result<JsonOp, OpError> {
@@ -65,9 +65,8 @@ pub fn op_set_raw(
use winapi::shared::minwindef::FALSE;
use winapi::um::{consoleapi, handleapi};
- let mut state = state_.borrow_mut();
- let resource_holder =
- state.resource_table.get_mut::<StreamResourceHolder>(rid);
+ let mut resource_table = isolate.resource_table.borrow_mut();
+ let resource_holder = resource_table.get_mut::<StreamResourceHolder>(rid);
if resource_holder.is_none() {
return Err(OpError::bad_resource_id());
}
@@ -132,9 +131,8 @@ pub fn op_set_raw(
{
use std::os::unix::io::AsRawFd;
- let mut state = state_.borrow_mut();
- let resource_holder =
- state.resource_table.get_mut::<StreamResourceHolder>(rid);
+ let mut resource_table = isolate.resource_table.borrow_mut();
+ let resource_holder = resource_table.get_mut::<StreamResourceHolder>(rid);
if resource_holder.is_none() {
return Err(OpError::bad_resource_id());
}
@@ -215,16 +213,17 @@ struct IsattyArgs {
}
pub fn op_isatty(
- state: &State,
+ isolate: &mut deno_core::Isolate,
+ _state: &State,
args: Value,
_zero_copy: Option<ZeroCopyBuf>,
) -> Result<JsonOp, OpError> {
let args: IsattyArgs = serde_json::from_value(args)?;
let rid = args.rid;
- let resource_table = &mut state.borrow_mut().resource_table;
+ let mut resource_table = isolate.resource_table.borrow_mut();
let isatty: bool =
- std_file_resource(resource_table, rid as u32, move |r| match r {
+ std_file_resource(&mut resource_table, rid as u32, move |r| match r {
Ok(std_file) => {
#[cfg(windows)]
{