Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
stick to our coding standards: fields must have a trailing _
[simgrid.git] / src / kernel / activity / IoImpl.cpp
index 966cae1..72e4007 100644 (file)
@@ -21,7 +21,7 @@ namespace activity {
 
 IoImpl& IoImpl::set_timeout(double timeout)
 {
-  s4u::Host* host   = get_disk() ? get_disk()->get_host() : s4u::Host::by_name(get_storage()->get_host());
+  const s4u::Host* host = get_disk() ? get_disk()->get_host() : s4u::Host::by_name(get_storage()->get_host());
   timeout_detector_ = host->pimpl_cpu->sleep(timeout);
   timeout_detector_->set_activity(this);
   return *this;
@@ -80,6 +80,7 @@ void IoImpl::post()
     state_ = State::TIMEOUT;
   }
 
+  clean_action();
   if (timeout_detector_) {
     timeout_detector_->unref();
     timeout_detector_ = nullptr;
@@ -116,7 +117,7 @@ void IoImpl::finish()
         xbt_die("Internal error in IoImpl::finish(): unexpected synchro state %d", static_cast<int>(state_));
     }
 
-    simcall->issuer_->waiting_synchro = nullptr;
+    simcall->issuer_->waiting_synchro_ = nullptr;
     simcall->issuer_->simcall_answer();
   }
 }