diff --git a/src/experiments/weather-monitor/experiment.cc b/src/experiments/weather-monitor/experiment.cc index e0046586d144c3def7b5956a4d334398afb29284..10d34baf72ba3e80c49f44420b228a9587bbec7e 100644 --- a/src/experiments/weather-monitor/experiment.cc +++ b/src/experiments/weather-monitor/experiment.cc @@ -14,6 +14,7 @@ #include "sal/SALInst.hpp" #include "sal/Memory.hpp" #include "sal/bochs/BochsRegister.hpp" +#include "sal/bochs/BochsEvents.hpp" #include "sal/Event.hpp" // you need to have the tracing plugin enabled for this @@ -261,7 +262,7 @@ bool WeatherMonitorExperiment::run() simulator.addEvent(&ev_detected); // timeout (e.g., stuck in a HLT instruction) // 10000us = 500000 instructions - TimerEvent ev_timeout(10000, true); + TimerEvent ev_timeout(10000); simulator.addEvent(&ev_timeout); #if LOCAL && 0 @@ -316,9 +317,6 @@ bool WeatherMonitorExperiment::run() ss << "eventid " << ev->getId() << " EIP " << simulator.getRegisterManager().getInstructionPointer(); result->set_details(ss.str()); } - // explicitly remove all events before we leave their scope - // FIXME event destructors should remove them from the queues - simulator.clearEvents(); } // sanity check: do we have exactly 8 results? if (param.msg.result_size() != 8) {