From: Martin Quinson Date: Mon, 9 Jul 2018 14:26:22 +0000 (+0200) Subject: prefer automatic memory management X-Git-Tag: v3_21~499 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/c773c39f8623155553cfba2919317250e003adb4 prefer automatic memory management --- diff --git a/src/kernel/resource/Resource.cpp b/src/kernel/resource/Resource.cpp index bcab6dbc16..816ae089d5 100644 --- a/src/kernel/resource/Resource.cpp +++ b/src/kernel/resource/Resource.cpp @@ -67,7 +67,7 @@ void Resource::set_state_trace(tmgr_trace_t trace) { xbt_assert(state_event_ == nullptr, "Cannot set a second state trace to %s", get_cname()); - state_event_ = future_evt_set->add_trace(trace, this); + state_event_ = future_evt_set.add_trace(trace, this); } kernel::lmm::Constraint* Resource::get_constraint() const diff --git a/src/surf/cpu_interface.cpp b/src/surf/cpu_interface.cpp index 68cb4f24b6..c4ef192363 100644 --- a/src/surf/cpu_interface.cpp +++ b/src/surf/cpu_interface.cpp @@ -138,7 +138,7 @@ void Cpu::set_speed_trace(tmgr_trace_t trace) { xbt_assert(speed_.event == nullptr, "Cannot set a second speed trace to Host %s", host_->get_cname()); - speed_.event = future_evt_set->add_trace(trace, this); + speed_.event = future_evt_set.add_trace(trace, this); } diff --git a/src/surf/cpu_ti.cpp b/src/surf/cpu_ti.cpp index 837212df83..d1d7d749b7 100644 --- a/src/surf/cpu_ti.cpp +++ b/src/surf/cpu_ti.cpp @@ -376,7 +376,7 @@ void CpuTi::set_speed_trace(tmgr_trace_t trace) if (trace && trace->event_list.size() > 1) { trace_mgr::DatedValue val = trace->event_list.back(); if (val.date_ < 1e-12) - speed_.event = future_evt_set->add_trace(new simgrid::trace_mgr::trace(), this); + speed_.event = future_evt_set.add_trace(new simgrid::trace_mgr::trace(), this); } } diff --git a/src/surf/network_interface.cpp b/src/surf/network_interface.cpp index 056d773712..abf0801f3c 100644 --- a/src/surf/network_interface.cpp +++ b/src/surf/network_interface.cpp @@ -148,13 +148,13 @@ void LinkImpl::on_bandwidth_change() void LinkImpl::set_bandwidth_trace(tmgr_trace_t trace) { xbt_assert(bandwidth_.event == nullptr, "Cannot set a second bandwidth trace to Link %s", get_cname()); - bandwidth_.event = future_evt_set->add_trace(trace, this); + bandwidth_.event = future_evt_set.add_trace(trace, this); } void LinkImpl::set_latency_trace(tmgr_trace_t trace) { xbt_assert(latency_.event == nullptr, "Cannot set a second latency trace to Link %s", get_cname()); - latency_.event = future_evt_set->add_trace(trace, this); + latency_.event = future_evt_set.add_trace(trace, this); } /********** diff --git a/src/surf/surf_c_bindings.cpp b/src/surf/surf_c_bindings.cpp index 62bf2e2747..f818a6ba72 100644 --- a/src/surf/surf_c_bindings.cpp +++ b/src/surf/surf_c_bindings.cpp @@ -26,11 +26,11 @@ void surf_presolve() simgrid::kernel::resource::Resource* resource = nullptr; XBT_DEBUG ("Consume all trace events occurring before the starting time."); - while ((next_event_date = future_evt_set->next_date()) != -1.0) { + while ((next_event_date = future_evt_set.next_date()) != -1.0) { if (next_event_date > NOW) break; - while ((event = future_evt_set->pop_leq(next_event_date, &value, &resource))) { + while ((event = future_evt_set.pop_leq(next_event_date, &value, &resource))) { if (value >= 0) resource->apply_event(event, value); } @@ -82,7 +82,7 @@ double surf_solve(double max_date) XBT_DEBUG("Looking for next trace event"); while (1) { // Handle next occurring events until none remains - double next_event_date = future_evt_set->next_date(); + double next_event_date = future_evt_set.next_date(); XBT_DEBUG("Next TRACE event: %f", next_event_date); if (not surf_network_model->next_occuring_event_is_idempotent()) { // NS3, I see you @@ -109,7 +109,7 @@ double surf_solve(double max_date) XBT_DEBUG("Updating models (min = %g, NOW = %g, next_event_date = %g)", time_delta, NOW, next_event_date); - while ((event = future_evt_set->pop_leq(next_event_date, &value, &resource))) { + while ((event = future_evt_set.pop_leq(next_event_date, &value, &resource))) { if (resource->is_used() || (watched_hosts.find(resource->get_cname()) != watched_hosts.end())) { time_delta = next_event_date - NOW; XBT_DEBUG("This event invalidates the next_occuring_event() computation of models. Next event set to %f", time_delta); diff --git a/src/surf/surf_interface.cpp b/src/surf/surf_interface.cpp index dcf8e7fe41..61081b2719 100644 --- a/src/surf/surf_interface.cpp +++ b/src/surf/surf_interface.cpp @@ -29,7 +29,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_kernel, surf, "Logging specific to SURF (ke std::vector all_existing_models; /* to destroy models correctly */ -simgrid::trace_mgr::future_evt_set *future_evt_set = nullptr; +simgrid::trace_mgr::future_evt_set future_evt_set; std::vector surf_path; std::vector host_that_restart; /** set of hosts for which one want to be notified if they ever restart. */ @@ -296,8 +296,6 @@ void surf_init(int *argc, char **argv) USER_HOST_LEVEL = simgrid::s4u::Host::extension_create(nullptr); xbt_init(argc, argv); - if (not future_evt_set) - future_evt_set = new simgrid::trace_mgr::future_evt_set(); sg_config_init(argc, argv); @@ -320,9 +318,6 @@ void surf_exit() xbt_free(surf_plugin_description); - delete future_evt_set; - future_evt_set = nullptr; - tmgr_finalize(); sg_platf_exit(); diff --git a/src/surf/trace_mgr.hpp b/src/surf/trace_mgr.hpp index b1456be7ab..5d74fdf326 100644 --- a/src/surf/trace_mgr.hpp +++ b/src/surf/trace_mgr.hpp @@ -28,7 +28,7 @@ public: } // namespace kernel } // namespace simgrid typedef simgrid::kernel::resource::TraceEvent* tmgr_trace_event_t; -extern XBT_PRIVATE simgrid::trace_mgr::future_evt_set* future_evt_set; +extern XBT_PRIVATE simgrid::trace_mgr::future_evt_set future_evt_set; /** * \brief Free a trace event structure