Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Mark deprecated functions.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Fri, 1 Jun 2018 13:03:22 +0000 (15:03 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Fri, 1 Jun 2018 13:12:24 +0000 (15:12 +0200)
include/simgrid/s4u/Actor.hpp
src/s4u/s4u_Actor.cpp

index 5ed3195..b8e4288 100644 (file)
@@ -237,7 +237,6 @@ public:
   /** Add a function to the list of "on_exit" functions for the current actor. The on_exit functions are the functions
    * executed when your actor is killed. You should use them to free the data used by your actor.
    */
-  void on_exit(int_f_pvoid_pvoid_t fun, void* data);
   void on_exit(std::function<void(int, void*)> fun, void* data);
 
   /** Sets the time at which that actor should be killed */
@@ -317,9 +316,11 @@ public:
   {
     set_auto_restart(a);
   }
+  XBT_ATTRIB_DEPRECATED_v323("Please use a std::function<void(int, void*)> for first parameter.") void on_exit(
+      int_f_pvoid_pvoid_t fun, void* data);
   XBT_ATTRIB_DEPRECATED_v323("Please use Actor::on_exit()") void onExit(int_f_pvoid_pvoid_t fun, void* data)
   {
-    on_exit(fun, data);
+    on_exit([fun](int a, void* b) { fun((void*)(intptr_t)a, b); }, data);
   }
   XBT_ATTRIB_DEPRECATED_v323("Please use Actor::set_kill_time()") void setKillTime(double time) { set_kill_time(time); }
   XBT_ATTRIB_DEPRECATED_v323("Please use Actor::get_kill_time()") double getKillTime() { return get_kill_time(); }
@@ -409,7 +410,8 @@ XBT_PUBLIC bool is_suspended();
 XBT_PUBLIC void kill();
 
 /** @brief Add a function to the list of "on_exit" functions. */
-XBT_PUBLIC void on_exit(int_f_pvoid_pvoid_t fun, void* data);
+XBT_ATTRIB_DEPRECATED_v323("Please use std::function<void(int, void*)> for first parameter.") XBT_PUBLIC
+    void on_exit(int_f_pvoid_pvoid_t fun, void* data);
 XBT_PUBLIC void on_exit(std::function<void(int, void*)> fun, void* data);
 
 /** @brief Migrate the actor to a new host. */
index bd5b149..940243c 100644 (file)
@@ -74,7 +74,7 @@ void Actor::set_auto_restart(bool autorestart)
   simgrid::simix::simcall([this, autorestart]() { pimpl_->auto_restart = autorestart; });
 }
 
-void Actor::on_exit(int_f_pvoid_pvoid_t fun, void* data)
+void Actor::on_exit(int_f_pvoid_pvoid_t fun, void* data) /* deprecated */
 {
   simgrid::simix::simcall([this, fun, data] { SIMIX_process_on_exit(pimpl_, fun, data); });
 }
@@ -371,11 +371,6 @@ void kill()
   simgrid::simix::simcall([process] { SIMIX_process_kill(process, process); });
 }
 
-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);
@@ -418,9 +413,13 @@ bool isSuspended() /* deprecated */
 {
   return is_suspended();
 }
-void onExit /* deprecated */ (int_f_pvoid_pvoid_t fun, void* data)
+void on_exit(int_f_pvoid_pvoid_t fun, void* data) /* deprecated */
+{
+  SIMIX_process_self()->iface()->on_exit([fun](int a, void* b) { fun((void*)(intptr_t)a, b); }, data);
+}
+void onExit(int_f_pvoid_pvoid_t fun, void* data) /* deprecated */
 {
-  on_exit(fun, data);
+  on_exit([fun](int a, void* b) { fun((void*)(intptr_t)a, b); }, data);
 }
 
 } // namespace this_actor