A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix memleak
[simgrid.git]
/
src
/
surf
/
cpu_ti.cpp
diff --git
a/src/surf/cpu_ti.cpp
b/src/surf/cpu_ti.cpp
index
56329d5
..
2be282c
100644
(file)
--- a/
src/surf/cpu_ti.cpp
+++ b/
src/surf/cpu_ti.cpp
@@
-409,7
+409,7
@@
void surf_cpu_model_init_ti()
CpuTiModel::CpuTiModel() : CpuModel("cpu_ti")
{
xbt_assert(!surf_cpu_model_pm,"CPU model already initialized. This should not happen.");
CpuTiModel::CpuTiModel() : CpuModel("cpu_ti")
{
xbt_assert(!surf_cpu_model_pm,"CPU model already initialized. This should not happen.");
- ActionPtr action;
+ ActionPtr action
= NULL
;
CpuTi cpu;
cpu_ti_running_action_set_that_does_not_need_being_checked =
CpuTi cpu;
cpu_ti_running_action_set_that_does_not_need_being_checked =
@@
-429,15
+429,6
@@
CpuTiModel::~CpuTiModel()
xbt_lib_cursor_t cursor;
char *key;
xbt_lib_cursor_t cursor;
char *key;
- xbt_lib_foreach(host_lib, cursor, key, cpu){
- if(cpu[SURF_CPU_LEVEL])
- {
- CpuTiPtr CPU = dynamic_cast<CpuTiPtr>(static_cast<ResourcePtr>(cpu[SURF_CPU_LEVEL]));
- xbt_swag_free(CPU->p_actionSet);
- delete CPU->p_availTrace;
- }
- }
-
surf_cpu_model_pm = NULL;
xbt_swag_free
surf_cpu_model_pm = NULL;
xbt_swag_free
@@
-470,9
+461,6
@@
CpuTiPtr CpuTiModel::createResource(const char *name,
tmgr_trace_t stateTrace,
xbt_dict_t cpuProperties)
{
tmgr_trace_t stateTrace,
xbt_dict_t cpuProperties)
{
- tmgr_trace_t empty_trace;
- s_tmgr_event_t val;
- CpuTiActionPtr cpuAction;
xbt_assert(core==1,"Multi-core not handled with this model yet");
xbt_assert(!surf_cpu_resource_priv(surf_cpu_resource_by_name(name)),
"Host '%s' declared several times in the platform file",
xbt_assert(core==1,"Multi-core not handled with this model yet");
xbt_assert(!surf_cpu_resource_priv(surf_cpu_resource_by_name(name)),
"Host '%s' declared several times in the platform file",
@@
-483,7
+471,7
@@
CpuTiPtr CpuTiModel::createResource(const char *name,
return (CpuTiPtr) xbt_lib_get_elm_or_null(host_lib, name);
}
return (CpuTiPtr) xbt_lib_get_elm_or_null(host_lib, name);
}
-CpuTiActionPtr CpuTiModel::createAction(double
cost, bool failed
)
+CpuTiActionPtr CpuTiModel::createAction(double
/*cost*/, bool /*failed*/
)
{
return NULL;//new CpuTiAction(this, cost, failed);
}
{
return NULL;//new CpuTiAction(this, cost, failed);
}
@@
-506,7
+494,7
@@
double CpuTiModel::shareResources(double now)
return min_action_duration;
}
return min_action_duration;
}
-void CpuTiModel::updateActionsState(double now, double
delta
)
+void CpuTiModel::updateActionsState(double now, double
/*delta*/
)
{
while ((xbt_heap_size(cpu_ti_action_heap) > 0)
&& (xbt_heap_maxkey(cpu_ti_action_heap) <= now)) {
{
while ((xbt_heap_size(cpu_ti_action_heap) > 0)
&& (xbt_heap_maxkey(cpu_ti_action_heap) <= now)) {
@@
-586,6
+574,7
@@
CpuTi::CpuTi(CpuTiModelPtr model, const char *name, xbt_dynar_t powerPeak,
e_surf_resource_state_t stateInitial, tmgr_trace_t stateTrace,
xbt_dict_t properties) :
Resource(model, name, properties), Cpu(model, name, properties) {
e_surf_resource_state_t stateInitial, tmgr_trace_t stateTrace,
xbt_dict_t properties) :
Resource(model, name, properties), Cpu(model, name, properties) {
+ p_powerEvent = NULL;
p_stateCurrent = stateInitial;
m_powerScale = powerScale;
m_core = core;
p_stateCurrent = stateInitial;
m_powerScale = powerScale;
m_core = core;
@@
-595,9
+584,11
@@
CpuTi::CpuTi(CpuTiModelPtr model, const char *name, xbt_dynar_t powerPeak,
XBT_DEBUG("power scale %lf", powerScale);
p_availTrace = new CpuTiTgmr(powerTrace, powerScale);
XBT_DEBUG("power scale %lf", powerScale);
p_availTrace = new CpuTiTgmr(powerTrace, powerScale);
- CpuTiActionPtr action;
+ CpuTiActionPtr action
= NULL
;
p_actionSet = xbt_swag_new(xbt_swag_offset(*action, p_cpuListHookup));
p_actionSet = xbt_swag_new(xbt_swag_offset(*action, p_cpuListHookup));
+ m_lastUpdate = 0;
+
xbt_dynar_get_cpy(powerPeak, 0, &m_powerPeak);
xbt_dynar_free(&powerPeak); /* kill memory leak */
m_pstate = pstate;
xbt_dynar_get_cpy(powerPeak, 0, &m_powerPeak);
xbt_dynar_free(&powerPeak); /* kill memory leak */
m_pstate = pstate;
@@
-621,6
+612,11
@@
CpuTi::CpuTi(CpuTiModelPtr model, const char *name, xbt_dynar_t powerPeak,
}
};
}
};
+CpuTi::~CpuTi(){
+delete p_availTrace;
+xbt_swag_free(p_actionSet);
+}
+
void CpuTi::updateState(tmgr_trace_event_t event_type,
double value, double date)
{
void CpuTi::updateState(tmgr_trace_event_t event_type,
double value, double date)
{