Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
transparent cleanups around simcalls mechanism
[simgrid.git] / src / kernel / activity / ExecImpl.cpp
index b7ed243..cfdf73e 100644 (file)
@@ -43,7 +43,7 @@ void simcall_HANDLER_execution_test(smx_simcall_t simcall, simgrid::kernel::acti
     synchro->simcalls_.push_back(simcall);
     synchro->finish();
   } else {
-    SIMIX_simcall_answer(simcall);
+    simcall->issuer->simcall_answer();
   }
   simcall_execution_test__set__result(simcall, res);
 }
@@ -52,9 +52,9 @@ void simcall_HANDLER_execution_waitany_for(smx_simcall_t simcall, simgrid::kerne
                                            size_t count, double timeout)
 {
   if (timeout < 0.0) {
-    simcall->timer = nullptr;
+    simcall->timeout_cb = nullptr;
   } else {
-    simcall->timer = simgrid::simix::Timer::set(SIMIX_get_clock() + timeout, [simcall, execs, count]() {
+    simcall->timeout_cb = simgrid::simix::Timer::set(SIMIX_get_clock() + timeout, [simcall, execs, count]() {
       for (size_t i = 0; i < count; i++) {
         // Remove the first occurence of simcall:
         auto* exec = execs[i];
@@ -63,7 +63,7 @@ void simcall_HANDLER_execution_waitany_for(smx_simcall_t simcall, simgrid::kerne
           exec->simcalls_.erase(j);
       }
       simcall_execution_waitany_for__set__result(simcall, -1);
-      SIMIX_simcall_answer(simcall);
+      simcall->issuer->simcall_answer();
     });
   }
 
@@ -232,9 +232,9 @@ void ExecImpl::finish()
         if (j != exec->simcalls_.end())
           exec->simcalls_.erase(j);
 
-        if (simcall->timer) {
-          simcall->timer->remove();
-          simcall->timer = nullptr;
+        if (simcall->timeout_cb) {
+          simcall->timeout_cb->remove();
+          simcall->timeout_cb = nullptr;
         }
       }
 
@@ -279,7 +279,7 @@ void ExecImpl::finish()
     simcall->issuer->waiting_synchro = nullptr;
     /* Fail the process if the host is down */
     if (simcall->issuer->get_host()->is_on())
-      SIMIX_simcall_answer(simcall);
+      simcall->issuer->simcall_answer();
     else
       simcall->issuer->context_->iwannadie = true;
   }