Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cleanup the resource::Action::State::IGNORED thing
[simgrid.git] / src / surf / cpu_cas01.cpp
index 57eb37e..b069dc9 100644 (file)
@@ -151,11 +151,11 @@ void CpuCas01::apply_event(tmgr_trace_event_t event, double value)
       while ((var = cnst->get_variable(&elem))) {
         kernel::resource::Action* action = static_cast<kernel::resource::Action*>(var->get_id());
 
       while ((var = cnst->get_variable(&elem))) {
         kernel::resource::Action* action = static_cast<kernel::resource::Action*>(var->get_id());
 
-        if (action->get_state() == kernel::resource::Action::State::running ||
-            action->get_state() == kernel::resource::Action::State::ready ||
-            action->get_state() == kernel::resource::Action::State::not_in_the_system) {
+        if (action->get_state() == kernel::resource::Action::State::INITED ||
+            action->get_state() == kernel::resource::Action::State::STARTED ||
+            action->get_state() == kernel::resource::Action::State::IGNORED) {
           action->set_finish_time(date);
           action->set_finish_time(date);
-          action->set_state(kernel::resource::Action::State::failed);
+          action->set_state(kernel::resource::Action::State::FAILED);
         }
       }
     }
         }
       }
     }
@@ -188,12 +188,8 @@ CpuAction *CpuCas01::sleep(double duration)
   // FIXME: sleep variables should not consume 1.0 in System::expand()
   action->set_max_duration(duration);
   action->suspended_ = kernel::resource::Action::SuspendStates::sleeping;
   // FIXME: sleep variables should not consume 1.0 in System::expand()
   action->set_max_duration(duration);
   action->suspended_ = kernel::resource::Action::SuspendStates::sleeping;
-  if (duration < 0) { // NO_MAX_DURATION
-    /* Move to the *end* of the corresponding action set. This convention is used to speed up update_resource_state */
-    simgrid::xbt::intrusive_erase(*action->get_state_set(), *action);
-    action->state_set_ = &static_cast<CpuCas01Model*>(get_model())->cpuRunningActionSetThatDoesNotNeedBeingChecked_;
-    action->get_state_set()->push_back(*action);
-  }
+  if (duration < 0) // NO_MAX_DURATION
+    action->set_state(simgrid::kernel::resource::Action::State::IGNORED);
 
   get_model()->get_maxmin_system()->update_variable_weight(action->get_variable(), 0.0);
   if (get_model()->get_update_algorithm() == kernel::resource::Model::UpdateAlgo::Lazy) { // remove action from the heap
 
   get_model()->get_maxmin_system()->update_variable_weight(action->get_variable(), 0.0);
   if (get_model()->get_update_algorithm() == kernel::resource::Model::UpdateAlgo::Lazy) { // remove action from the heap