Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Revert "simplification"
[simgrid.git] / src / surf / cpu_interface.cpp
index ace74b4..0f1a3ab 100644 (file)
@@ -166,24 +166,26 @@ void CpuAction::update_remains_lazy(double now)
   set_last_value(get_variable()->get_value());
 }
 
-simgrid::xbt::signal<void(simgrid::surf::CpuAction*)> CpuAction::on_state_change;
+simgrid::xbt::signal<void(simgrid::surf::CpuAction*, kernel::resource::Action::State)> CpuAction::on_state_change;
 
 void CpuAction::suspend(){
-  on_state_change(this);
+  Action::State previous = get_state();
+  on_state_change(this, previous);
   Action::suspend();
 }
 
 void CpuAction::resume(){
-  on_state_change(this);
+  Action::State previous = get_state();
+  on_state_change(this, previous);
   Action::resume();
 }
 
 void CpuAction::set_state(Action::State state)
 {
+  Action::State previous = get_state();
   Action::set_state(state);
-  on_state_change(this);
+  on_state_change(this, previous);
 }
-
 /** @brief returns a list of all CPUs that this action is using */
 std::list<Cpu*> CpuAction::cpus() {
   std::list<Cpu*> retlist;