From cc420013f90a53dd9d52a4fe3c17f97aa8c233f6 Mon Sep 17 00:00:00 2001 From: Logan McNaughton <848146+loganmc10@users.noreply.github.com> Date: Tue, 23 Jun 2026 18:37:14 +0200 Subject: [PATCH] add sleep while waiting for state (#1115) * add sleep while waiting for state * more * more --- src/savestates.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/savestates.rs b/src/savestates.rs index 32f6655..21cf91f 100644 --- a/src/savestates.rs +++ b/src/savestates.rs @@ -214,13 +214,18 @@ pub fn load_savestate(device: &mut device::Device, rewind: bool, rewind_frame: O let timeout = std::time::Duration::from_secs(1); let now = std::time::Instant::now(); loop { - let mut pool = device.savestate.rewind_pool.blocking_lock(); - if pool.contains_key(&rewind_frame) { - break pool.remove(&rewind_frame); + if let Some(state) = device + .savestate + .rewind_pool + .blocking_lock() + .remove(&rewind_frame) + { + break Some(state); } if now.elapsed() > timeout { break None; } + std::thread::sleep(std::time::Duration::from_millis(1)); } } else if let Some((_key, state)) = device.savestate.rewind_pool.blocking_lock().pop_last() {