X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/54f07f038966ffe0b3e8ef526e9192f7eb49ad09..453ce02e0133358ef34d58e920521b6a29fe2283:/src/simix/ActorImpl.hpp diff --git a/src/simix/ActorImpl.hpp b/src/simix/ActorImpl.hpp index 7fb9ab50f2..af2a7f3868 100644 --- a/src/simix/ActorImpl.hpp +++ b/src/simix/ActorImpl.hpp @@ -10,11 +10,12 @@ #include "src/simix/popping_private.hpp" #include "src/surf/PropertyHolder.hpp" #include +#include #include #include struct s_smx_process_exit_fun_t { - int_f_pvoid_pvoid_t fun; + std::function fun; void *arg; }; @@ -70,15 +71,15 @@ public: smx_activity_t waiting_synchro = nullptr; /* the current blocking synchro if any */ std::list comms; /* the current non-blocking communication synchros */ - s_smx_simcall_t simcall; - void* userdata = nullptr; /* kept for compatibility, it should be replaced with moddata */ + s_smx_simcall simcall; std::vector on_exit; /* list of functions executed when the process dies */ std::function code; smx_timer_t kill_timer = nullptr; - /* Refcounting */ private: + void* userdata = nullptr; /* kept for compatibility, it should be replaced with moddata */ + /* Refcounting */ std::atomic_int_fast32_t refcount_{0}; public: @@ -135,8 +136,6 @@ XBT_PUBLIC void create_maestro(std::function code); typedef simgrid::kernel::actor::ActorImpl* smx_actor_t; -extern "C" { - XBT_PRIVATE smx_actor_t SIMIX_process_create(const char* name, std::function code, void* data, sg_host_t host, std::map* properties, smx_actor_t parent_process); @@ -152,7 +151,6 @@ XBT_PRIVATE void SIMIX_process_change_host(smx_actor_t process, sg_host_t dest); XBT_PRIVATE void SIMIX_process_auto_restart_set(smx_actor_t process, int auto_restart); extern void (*SMPI_switch_data_segment)(simgrid::s4u::ActorPtr actor); -} XBT_PRIVATE void SIMIX_process_sleep_destroy(smx_activity_t synchro); XBT_PRIVATE smx_activity_t SIMIX_process_join(smx_actor_t issuer, smx_actor_t process, double timeout);