From: SUTER Frederic Date: Tue, 25 May 2021 13:17:58 +0000 (+0200) Subject: delete Timer when shutting down EngineImpl X-Git-Tag: v3.28~246 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/e2f13c6eb4d0c1b07e1b32a75016431dd75a68d2 delete Timer when shutting down EngineImpl --- diff --git a/src/kernel/EngineImpl.cpp b/src/kernel/EngineImpl.cpp index 3cb115591a..926bdb9288 100644 --- a/src/kernel/EngineImpl.cpp +++ b/src/kernel/EngineImpl.cpp @@ -6,6 +6,7 @@ #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" @@ -15,6 +16,7 @@ #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 @@ -27,6 +29,12 @@ config::Flag cfg_breakpoint{"debug/breakpoint", "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. */ diff --git a/src/simix/smx_global.cpp b/src/simix/smx_global.cpp index d49094502b..5831192050 100644 --- a/src/simix/smx_global.cpp +++ b/src/simix/smx_global.cpp @@ -236,10 +236,6 @@ void SIMIX_clean() /* Exit the SIMIX network module */ SIMIX_mailbox_exit(); - while (not simgrid::kernel::timer::kernel_timers().empty()) { - delete simgrid::kernel::timer::kernel_timers().top().second; - simgrid::kernel::timer::kernel_timers().pop(); - } /* Let's free maestro now */ delete simix_global->maestro_;