diff --git a/vm/src/frame.rs b/vm/src/frame.rs index 79ca5f3ae..5eb9156c3 100644 --- a/vm/src/frame.rs +++ b/vm/src/frame.rs @@ -1,6 +1,6 @@ use std::fmt; use std::sync::atomic::{AtomicUsize, Ordering}; -use std::sync::{Mutex, RwLock}; +use std::sync::Mutex; use indexmap::IndexMap; use itertools::Itertools; @@ -93,7 +93,7 @@ pub struct Frame { /// index of last instruction ran pub lasti: AtomicUsize, /// marker to know if this frame is being traced - pub trace: RwLock, + pub trace: Mutex, state: Mutex, } @@ -169,7 +169,7 @@ impl Frame { stack: Vec::new(), blocks: Vec::new(), }), - trace: RwLock::new(vm.get_none()), + trace: Mutex::new(vm.get_none()), } } } diff --git a/vm/src/obj/objframe.rs b/vm/src/obj/objframe.rs index 33fc243f1..154b0b068 100644 --- a/vm/src/obj/objframe.rs +++ b/vm/src/obj/objframe.rs @@ -71,13 +71,13 @@ impl FrameRef { #[pyproperty] fn f_trace(self) -> PyObjectRef { - let boxed = self.trace.read(); + let boxed = self.trace.lock(); boxed.unwrap().clone() } #[pyproperty(setter)] fn set_f_trace(self, value: PyObjectRef) { - let mut storage = self.trace.write().unwrap(); + let mut storage = self.trace.lock().unwrap(); *storage = value; } }