X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4e62e76d104a17f0c9aaf9135ac605e9c8c87141..16f1630ae434e729cbe0b24fe2f19c8f67f774cd:/src/simix/smx_global.cpp diff --git a/src/simix/smx_global.cpp b/src/simix/smx_global.cpp index a00699793c..83c6f920b3 100644 --- a/src/simix/smx_global.cpp +++ b/src/simix/smx_global.cpp @@ -34,10 +34,10 @@ void (*SMPI_switch_data_segment)(simgrid::s4u::ActorPtr) = nullptr; namespace simgrid { namespace simix { -simgrid::config::Flag cfg_verbose_exit{ - "debug/verbose-exit", {"verbose-exit"}, "Display the actor status at exit", true}; -} +config::Flag cfg_verbose_exit{"debug/verbose-exit", {"verbose-exit"}, "Display the actor status at exit", true}; +} // namespace simix } // namespace simgrid + XBT_ATTRIB_NORETURN static void inthandler(int) { if (simgrid::simix::cfg_verbose_exit) { @@ -134,7 +134,7 @@ static void install_segvhandler() namespace simgrid { namespace simix { -Timer* Timer::set(double date, simgrid::xbt::Task&& callback) +Timer* Timer::set(double date, xbt::Task&& callback) { Timer* timer = new Timer(date, std::move(callback)); timer->handle_ = simix_timers.emplace(std::make_pair(date, timer)); @@ -144,7 +144,7 @@ Timer* Timer::set(double date, simgrid::xbt::Task&& callback) /** @brief cancels a timer that was added earlier */ void Timer::remove() { - simgrid::simix::simix_timers.erase(handle_); + simix_timers.erase(handle_); delete this; } @@ -173,7 +173,7 @@ bool Global::execute_tasks() void Global::empty_trash() { while (not actors_to_destroy.empty()) { - smx_actor_t actor = &actors_to_destroy.front(); + kernel::actor::ActorImpl* actor = &actors_to_destroy.front(); actors_to_destroy.pop_front(); XBT_DEBUG("Getting rid of %s (refcount: %d)", actor->get_cname(), actor->get_refcount()); intrusive_ptr_release(actor); @@ -197,10 +197,10 @@ void Global::run_all_actors() actors_to_run.clear(); } -simgrid::config::Flag cfg_breakpoint{ +config::Flag cfg_breakpoint{ "debug/breakpoint", {"simix/breakpoint"}, "When non-negative, raise a SIGTRAP after given (simulated) time", -1.0}; -} -} +} // namespace simix +} // namespace simgrid static simgrid::simix::ActorCode maestro_code; void SIMIX_set_maestro(void (*code)(void*), void* data) @@ -276,7 +276,7 @@ void SIMIX_clean() } #if HAVE_SMPI - if (SIMIX_process_count()>0){ + if (simix_global->process_list.size() > 0) { if(smpi_process()->initialized()){ xbt_die("Process exited without calling MPI_Finalize - Killing simulation"); }else{ @@ -288,7 +288,7 @@ void SIMIX_clean() /* Kill all processes (but maestro) */ simix_global->maestro_process->kill_all(); - simix_global->context_factory->run_all(); + simix_global->run_all_actors(); simix_global->empty_trash(); /* Exit the SIMIX network module */ @@ -470,9 +470,9 @@ void SIMIX_run() * That would thus be a pure waste of time. */ - for (smx_actor_t const& process : simix_global->actors_that_ran) { - if (process->simcall.call_ != SIMCALL_NONE) { - process->simcall_handle(0); + for (auto const& actor : simix_global->actors_that_ran) { + if (actor->simcall.call_ != SIMCALL_NONE) { + actor->simcall_handle(0); } } @@ -562,7 +562,7 @@ void SIMIX_display_process_status() /* List the process and their state */ XBT_INFO("Legend of the following listing: \"Process (@): \""); for (auto const& kv : simix_global->process_list) { - smx_actor_t actor = kv.second; + simgrid::kernel::actor::ActorImpl* actor = kv.second; if (actor->waiting_synchro) { @@ -600,6 +600,8 @@ void SIMIX_display_process_status() int SIMIX_is_maestro() { - smx_actor_t self = SIMIX_process_self(); - return simix_global == nullptr /*SimDag*/ || self == nullptr || self == simix_global->maestro_process; + if (simix_global == nullptr) // SimDag + return true; + simgrid::kernel::actor::ActorImpl* self = SIMIX_process_self(); + return self == nullptr || self == simix_global->maestro_process; }