Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Define Actor::on_exit() taking a std::function.
[simgrid.git] / src / s4u / s4u_Actor.cpp
index 31746fc..bd5b149 100644 (file)
@@ -79,6 +79,11 @@ void Actor::on_exit(int_f_pvoid_pvoid_t fun, void* data)
   simgrid::simix::simcall([this, fun, data] { SIMIX_process_on_exit(pimpl_, fun, data); });
 }
 
+void Actor::on_exit(std::function<void(int, void*)> fun, void* data)
+{
+  simgrid::simix::simcall([this, fun, data] { SIMIX_process_on_exit(pimpl_, fun, data); });
+}
+
 /** @brief Moves the actor to another host
  *
  * If the actor is currently blocked on an execution activity, the activity is also
@@ -371,6 +376,11 @@ void on_exit(int_f_pvoid_pvoid_t fun, void* data)
   SIMIX_process_self()->iface()->on_exit(fun, data);
 }
 
+void on_exit(std::function<void(int, void*)> fun, void* data)
+{
+  SIMIX_process_self()->iface()->on_exit(fun, data);
+}
+
 /** @brief Moves the current actor to another host
  *
  * @see simgrid::s4u::Actor::migrate() for more information