fix restore() in case no "natural" async_events occur

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1410 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
hsc
2012-07-03 12:38:24 +00:00
parent e0072e393b
commit 765c5f6985
2 changed files with 3 additions and 1 deletions

View File

@ -134,7 +134,7 @@ void BX_CPU_C::cpu_loop(Bit32u max_instr_count)
}
// DanceOS
#ifdef DANCEOS_RESTORE
else if(fail::restore_bochs_request) {
if (fail::restore_bochs_request) {
return;
}
#endif

View File

@ -151,6 +151,7 @@ void BochsController::save(const std::string& path)
// TODO: (Non-)Verbose-Mode? Log-level? Maybe better: use return value to indicate failure?
save_bochs_request = true;
BX_CPU(0)->async_event |= 1;
sr_path = path;
m_CurrFlow = m_Flows.getCurrent();
m_Flows.resume();
@ -166,6 +167,7 @@ void BochsController::restore(const std::string& path)
{
clearEvents();
restore_bochs_request = true;
BX_CPU(0)->async_event |= 1;
sr_path = path;
m_CurrFlow = m_Flows.getCurrent();
m_Flows.resume();