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
plug a memleak -- bummer
[simgrid.git]
/
src
/
kernel
/
resource
/
Model.cpp
diff --git
a/src/kernel/resource/Model.cpp
b/src/kernel/resource/Model.cpp
index
fab52e2
..
63e662a
100644
(file)
--- a/
src/kernel/resource/Model.cpp
+++ b/
src/kernel/resource/Model.cpp
@@
-16,21
+16,14
@@
Model::Model(Model::UpdateAlgo algo) : update_algorithm_(algo) {}
Model::~Model()
{
Model::~Model()
{
- delete
ready
_action_set_;
- delete
running
_action_set_;
+ delete
inited
_action_set_;
+ delete
started
_action_set_;
delete failed_action_set_;
delete failed_action_set_;
- delete done_action_set_;
+ delete finished_action_set_;
+ delete ignored_action_set_;
delete maxmin_system_;
}
delete maxmin_system_;
}
-Action* Model::actionHeapPop()
-{
- Action* action = action_heap_.top().second;
- action_heap_.pop();
- action->heap_clear_handle();
- return action;
-}
-
Action::ModifiedSet* Model::get_modified_set() const
{
return maxmin_system_->modified_set_;
Action::ModifiedSet* Model::get_modified_set() const
{
return maxmin_system_->modified_set_;
@@
-58,11
+51,11
@@
double Model::next_occuring_event_lazy(double now)
maxmin_system_->modified_set_->pop_front();
bool max_duration_flag = false;
maxmin_system_->modified_set_->pop_front();
bool max_duration_flag = false;
- if (action->get_state_set() !=
running
_action_set_)
+ if (action->get_state_set() !=
started
_action_set_)
continue;
/* bogus priority, skip it */
continue;
/* bogus priority, skip it */
- if (action->get_priority() <= 0 || action->get_type() == Action::Type::latency)
+ if (action->get_priority() <= 0 || action->get_type() == Action
Heap
::Type::latency)
continue;
action->update_remains_lazy(now);
continue;
action->update_remains_lazy(now);
@@
-93,7
+86,7
@@
double Model::next_occuring_event_lazy(double now)
action->get_start_time(), min, share, action->get_max_duration());
if (min > -1) {
action->get_start_time(), min, share, action->get_max_duration());
if (min > -1) {
- action
->heapUpdate(min, max_duration_flag ? Action::Type::max_duration : Action
::Type::normal);
+ action
_heap_.update(action, min, max_duration_flag ? ActionHeap::Type::max_duration : ActionHeap
::Type::normal);
XBT_DEBUG("Insert at heap action(%p) min %f now %f", action, min, now);
} else
DIE_IMPOSSIBLE;
XBT_DEBUG("Insert at heap action(%p) min %f now %f", action, min, now);
} else
DIE_IMPOSSIBLE;
@@
-101,7
+94,7
@@
double Model::next_occuring_event_lazy(double now)
// hereafter must have already the min value for this resource model
if (not action_heap_.empty()) {
// hereafter must have already the min value for this resource model
if (not action_heap_.empty()) {
- double min = action
HeapTopD
ate() - now;
+ double min = action
_heap_.top_d
ate() - now;
XBT_DEBUG("minimum with the HEAP %f", min);
return min;
} else {
XBT_DEBUG("minimum with the HEAP %f", min);
return min;
} else {
@@
-116,7
+109,7
@@
double Model::next_occuring_event_full(double /*now*/)
double min = -1;
double min = -1;
- for (Action& action : *get_
running
_action_set()) {
+ for (Action& action : *get_
started
_action_set()) {
double value = action.get_variable()->get_value();
if (value > 0) {
if (action.get_remains() > 0)
double value = action.get_variable()->get_value();
if (value > 0) {
if (action.get_remains() > 0)