Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Revert "actually fix the memleak around smpi's process_data" and "try to plug a memleak"
[simgrid.git] / include / simgrid / s4u / Actor.hpp
index b57d015..670f502 100644 (file)
@@ -19,6 +19,7 @@
 #include <xbt/Extendable.hpp>
 #include <xbt/functional.hpp>
 #include <xbt/string.hpp>
+#include <xbt/signal.hpp>
 
 #include <simgrid/chrono.hpp>
 #include <simgrid/s4u/forward.hpp>
@@ -162,6 +163,9 @@ public:
   /** Retrieve a reference to myself */
   static ActorPtr self();
 
+  /** Signal to others that a new actor has been created **/
+  static simgrid::xbt::signal<void(simgrid::s4u::ActorPtr)> onCreation;
+
   /** Create an actor using a function
    *
    *  If the actor is restarted, the actor has a fresh copy of the function.
@@ -275,9 +279,6 @@ public:
   const char* getProperty(const char* key);
   void setProperty(const char* key, const char* value);
   Actor* restart();
-
-  ExecPtr exec_init(double flops_amounts);
-  ExecPtr exec_async(double flops_amounts);
 };
 
 /** @ingroup s4u_api
@@ -319,6 +320,9 @@ XBT_PUBLIC(void) parallel_execute(int host_nb, sg_host_t* host_list, double* flo
 XBT_PUBLIC(void)
 parallel_execute(int host_nb, sg_host_t* host_list, double* flops_amount, double* bytes_amount, double timeout);
 
+XBT_PUBLIC(ExecPtr) exec_init(double flops_amounts);
+XBT_PUBLIC(ExecPtr) exec_async(double flops_amounts);
+
 /** Block the actor until it gets a message from the given mailbox.
  *
  * See \ref Comm for the full communication API (including non blocking communications).