#include "src/kernel/EngineImpl.hpp"
#include "mc/mc.h"
#include "simgrid/Exception.hpp"
+#include "simgrid/kernel/Timer.hpp"
#include "simgrid/kernel/routing/NetPoint.hpp"
#include "simgrid/kernel/routing/NetZoneImpl.hpp"
#include "simgrid/s4u/Host.hpp"
#include "src/mc/mc_record.hpp"
#include "src/mc/mc_replay.hpp"
#include "src/simix/smx_private.hpp"
+#include "src/smpi/include/smpi_actor.hpp"
#include "src/surf/network_interface.hpp"
#include "src/surf/xml/platf.hpp" // FIXME: KILLME. There must be a better way than mimicking XML here
"When non-negative, raise a SIGTRAP after given (simulated) time", -1.0};
EngineImpl::~EngineImpl()
{
+
+ while (not timer::kernel_timers().empty()) {
+ delete timer::kernel_timers().top().second;
+ timer::kernel_timers().pop();
+ }
+
/* Since hosts_ is a std::map, the hosts are destroyed in the lexicographic order, which ensures that the output is
* reproducible.
*/
if (kv.second)
kv.second->destroy();
- /* Free the remaining data structures */
+ for (auto const& kv : mailboxes_)
+ delete kv.second;
+
+ /* Free the remaining data structures */
#if SIMGRID_HAVE_MC
xbt_dynar_free(&actors_vector_);
xbt_dynar_free(&dead_actors_vector_);
*/
void EngineImpl::run_all_actors()
{
- simix_global->context_factory->run_all();
+ simix_global->get_context_factory()->run_all();
actors_to_run_.swap(actors_that_ran_);
actors_to_run_.clear();