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 // DanceOS
#ifdef DANCEOS_RESTORE #ifdef DANCEOS_RESTORE
else if(fail::restore_bochs_request) { if (fail::restore_bochs_request) {
return; return;
} }
#endif #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? // TODO: (Non-)Verbose-Mode? Log-level? Maybe better: use return value to indicate failure?
save_bochs_request = true; save_bochs_request = true;
BX_CPU(0)->async_event |= 1;
sr_path = path; sr_path = path;
m_CurrFlow = m_Flows.getCurrent(); m_CurrFlow = m_Flows.getCurrent();
m_Flows.resume(); m_Flows.resume();
@ -166,6 +167,7 @@ void BochsController::restore(const std::string& path)
{ {
clearEvents(); clearEvents();
restore_bochs_request = true; restore_bochs_request = true;
BX_CPU(0)->async_event |= 1;
sr_path = path; sr_path = path;
m_CurrFlow = m_Flows.getCurrent(); m_CurrFlow = m_Flows.getCurrent();
m_Flows.resume(); m_Flows.resume();