add sleep while waiting for state (#1115)
* add sleep while waiting for state * more * more
This commit is contained in:
parent
ba0a21feca
commit
cc420013f9
@ -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()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user