X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/82f048773df5d2086fe2044d2bef0cbffdf6f982..61b77aa31cb615bf2b3a791d89309587d70760c4:/src/surf/trace_mgr.cpp?ds=sidebyside diff --git a/src/surf/trace_mgr.cpp b/src/surf/trace_mgr.cpp index 32558c2bfc..0b9cd01d73 100644 --- a/src/surf/trace_mgr.cpp +++ b/src/surf/trace_mgr.cpp @@ -17,6 +17,14 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_trace, surf, "Surf trace management"); static xbt_dict_t trace_list = NULL; +simgrid::trace_mgr::trace::trace() +{ +} + +simgrid::trace_mgr::trace::~trace() +{ + xbt_dynar_free(&event_list); +} simgrid::trace_mgr::future_evt_set::future_evt_set() { } @@ -47,7 +55,7 @@ tmgr_trace_t tmgr_trace_new_from_string(const char *id, const char *input, doubl xbt_assert(periodicity >= 0, "Invalid periodicity %g (must be positive)", periodicity); - trace = xbt_new0(s_tmgr_trace_t, 1); + trace = new simgrid::trace_mgr::trace(); trace->event_list = xbt_dynar_new(sizeof(s_tmgr_event_t), NULL); list = xbt_str_split(input, "\n\r"); @@ -126,7 +134,7 @@ tmgr_trace_t tmgr_empty_trace_new(void) tmgr_trace_t trace = NULL; s_tmgr_event_t event; - trace = xbt_new0(s_tmgr_trace_t, 1); + trace = new simgrid::trace_mgr::trace(); trace->event_list = xbt_dynar_new(sizeof(s_tmgr_event_t), NULL); event.delta = 0.0; @@ -138,11 +146,7 @@ tmgr_trace_t tmgr_empty_trace_new(void) void tmgr_trace_free(tmgr_trace_t trace) { - if (!trace) - return; - - xbt_dynar_free(&(trace->event_list)); - free(trace); + delete trace; } /** @brief Registers a new trace into the future event set, and get an iterator over the integrated trace */