Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix build error with mingw.
[simgrid.git] / src / simix / ActorImpl.hpp
index 561d1e8..f8d8102 100644 (file)
@@ -23,7 +23,7 @@ namespace simgrid {
 namespace kernel {
 namespace actor {
 
-class ActorImpl : public surf::PropertyHolder {
+class XBT_PUBLIC ActorImpl : public surf::PropertyHolder {
   s4u::Host* host_   = nullptr; /* the host on which the actor is running */
   void* userdata_    = nullptr; /* kept for compatibility, it should be replaced with moddata */
   aid_t pid_         = 0;
@@ -70,7 +70,7 @@ public:
   std::vector<s_smx_process_exit_fun_t> on_exit; /* list of functions executed when the process dies */
 
   std::function<void()> code;
-  smx_timer_t kill_timer = nullptr;
+  simix::Timer* kill_timer = nullptr;
 
 private:
   /* Refcounting */
@@ -105,6 +105,9 @@ public:
 
   static ActorImplPtr create(std::string name, simix::ActorCode code, void* data, s4u::Host* host,
                              std::unordered_map<std::string, std::string>* properties, ActorImpl* parent_actor);
+  static ActorImplPtr attach(std::string name, void* data, s4u::Host* host,
+                             std::unordered_map<std::string, std::string>* properties);
+  static void detach();
   void cleanup();
   void exit();
   void kill(ActorImpl* actor);