Avoid holding executor's state lock while parked

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
This commit is contained in:
Max Brunsfeld 2021-07-20 11:37:02 -07:00
parent ee213696aa
commit 61397f2f2f

View file

@ -150,7 +150,7 @@ impl Deterministic {
if let Poll::Ready(result) = future.as_mut().poll(&mut cx) {
return Some(result);
}
let state = &mut *self.state.lock();
let state = self.state.lock();
if state.scheduled.is_empty() && state.spawned_from_foreground.is_empty() {
if state.forbid_parking {
panic!("deterministic executor parked after a call to forbid_parking");