Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
make sure that the HostStateChange event is fired when needed
authorMartin Quinson <martin.quinson@loria.fr>
Thu, 19 Jan 2017 15:06:51 +0000 (16:06 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Thu, 19 Jan 2017 15:06:51 +0000 (16:06 +0100)
src/s4u/s4u_host.cpp

index 28ad598..d918006 100644 (file)
@@ -105,13 +105,18 @@ void Host::turnOn() {
     simgrid::simix::kernelImmediate([&]{
       this->extension<simgrid::simix::Host>()->turnOn();
       this->pimpl_cpu->turnOn();
+      onStateChange(*this);
     });
   }
 }
 
 void Host::turnOff() {
   if (isOn()) {
-    simgrid::simix::kernelImmediate(std::bind(SIMIX_host_off, this, SIMIX_process_self()));
+    smx_actor_t self = SIMIX_process_self();
+    simgrid::simix::kernelImmediate([&] {
+      SIMIX_host_off(this, self);
+      onStateChange(*this);
+    });
   }
 }