X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ed4d9195562842753411ebe491d2d66f46965a1a..905e26b959375a249abcfdf1599f6178fe031f44:/src/simix/smx_process_private.h diff --git a/src/simix/smx_process_private.h b/src/simix/smx_process_private.h index 29e0756fe6..bcfe57a018 100644 --- a/src/simix/smx_process_private.h +++ b/src/simix/smx_process_private.h @@ -15,6 +15,8 @@ #include #include +#include + #include "simgrid/simix.h" #include "popping_private.h" @@ -39,6 +41,7 @@ public: class Process { public: + Process() : actor_(this) {} // TODO, replace with boost intrusive container hooks s_xbt_swag_hookup_t process_hookup = { nullptr, nullptr }; /* simix_global->process_list */ @@ -54,6 +57,7 @@ public: // TODO, pack them std::exception_ptr exception; + bool finished = false; bool blocked = false; bool suspended = false; bool auto_restart = false; @@ -87,8 +91,11 @@ public: ~Process(); + simgrid::s4u::Actor& actor() { return actor_; } + private: std::atomic_int_fast32_t refcount_ { 1 }; + simgrid::s4u::Actor actor_; }; } @@ -123,11 +130,8 @@ XBT_PRIVATE void SIMIX_process_change_host(smx_process_t process, XBT_PRIVATE smx_synchro_t SIMIX_process_suspend(smx_process_t process, smx_process_t issuer); XBT_PRIVATE void SIMIX_process_resume(smx_process_t process, smx_process_t issuer); XBT_PRIVATE int SIMIX_process_get_PID(smx_process_t self); -XBT_PRIVATE int SIMIX_process_get_PPID(smx_process_t self); XBT_PRIVATE void* SIMIX_process_get_data(smx_process_t process); XBT_PRIVATE void SIMIX_process_set_data(smx_process_t process, void *data); -XBT_PRIVATE sg_host_t SIMIX_process_get_host(smx_process_t process); -XBT_PRIVATE const char* SIMIX_process_get_name(smx_process_t process); XBT_PRIVATE smx_process_t SIMIX_process_get_by_name(const char* name); XBT_PRIVATE int SIMIX_process_is_suspended(smx_process_t process); XBT_PRIVATE xbt_dict_t SIMIX_process_get_properties(smx_process_t process);