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/random.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'cli/ops/random.rs') diff --git a/cli/ops/random.rs b/cli/ops/random.rs index 950e9c7f0..3c570090b 100644 --- a/cli/ops/random.rs +++ b/cli/ops/random.rs @@ -1,12 +1,12 @@ // Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. use super::dispatch_json::{JsonOp, Value}; use crate::ops::json_op; -use crate::state::ThreadSafeState; +use crate::state::State; use deno_core::*; use rand::thread_rng; use rand::Rng; -pub fn init(i: &mut Isolate, s: &ThreadSafeState) { +pub fn init(i: &mut Isolate, s: &State) { i.register_op( "get_random_values", s.core_op(json_op(s.stateful_op(op_get_random_values))), @@ -14,15 +14,14 @@ pub fn init(i: &mut Isolate, s: &ThreadSafeState) { } fn op_get_random_values( - state: &ThreadSafeState, + state: &State, _args: Value, zero_copy: Option, ) -> Result { assert!(zero_copy.is_some()); - if let Some(ref seeded_rng) = state.seeded_rng { - let mut rng = seeded_rng.lock().unwrap(); - rng.fill(&mut zero_copy.unwrap()[..]); + if let Some(ref mut seeded_rng) = state.borrow_mut().seeded_rng { + seeded_rng.fill(&mut zero_copy.unwrap()[..]); } else { let mut rng = thread_rng(); rng.fill(&mut zero_copy.unwrap()[..]); -- cgit v1.2.3