X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ac679d5e69b1eb25e3f82be198607593407e7fc5..e6ca184e99d50d0ee8fe405a83ee5277e2ecfce6:/src/mc/mc_smx.h diff --git a/src/mc/mc_smx.h b/src/mc/mc_smx.h index 827634d150..cecce1b235 100644 --- a/src/mc/mc_smx.h +++ b/src/mc/mc_smx.h @@ -9,13 +9,16 @@ #include +#include +#include #include + #include -#include "smpi/private.h" +#include "src/smpi/private.h" -#include "mc/Process.hpp" -#include "mc_protocol.h" +#include "src/mc/Process.hpp" +#include "src/mc/mc_protocol.h" /** @file * @brief (Cross-process, MCer/MCed) Access to SMX structures @@ -39,20 +42,6 @@ SG_BEGIN_DECL() -struct s_mc_smx_process_info { - /** MCed address of the process */ - void* address; - /** (Flat) Copy of the process data structure */ - struct s_smx_process copy; - /** Hostname (owned by `mc_modelchecker->hostnames`) */ - const char* hostname; - char* name; -}; - -typedef struct s_mc_smx_process_info s_mc_smx_process_info_t, *mc_smx_process_info_t; - -XBT_PRIVATE xbt_dynar_t MC_smx_process_info_list_new(void); - XBT_PRIVATE void MC_process_smx_refresh(simgrid::mc::Process* process); /** Get the issuer of a simcall (`req->issuer`) @@ -69,24 +58,6 @@ XBT_PRIVATE smx_process_t MC_smx_simcall_get_issuer(smx_simcall_t req); XBT_PRIVATE const char* MC_smx_process_get_name(smx_process_t p); XBT_PRIVATE const char* MC_smx_process_get_host_name(smx_process_t p); -#define MC_EACH_SIMIX_PROCESS(process, code) \ - if (mc_mode == MC_MODE_CLIENT) { \ - xbt_swag_foreach(process, simix_global->process_list) { \ - code; \ - } \ - } else { \ - MC_process_smx_refresh(&mc_model_checker->process()); \ - unsigned int _smx_process_index; \ - mc_smx_process_info_t _smx_process_info; \ - xbt_dynar_foreach_ptr(mc_model_checker->process().smx_process_infos, _smx_process_index, _smx_process_info) { \ - smx_process_t process = &_smx_process_info->copy; \ - code; \ - } \ - } - -/** Execute a given simcall */ -XBT_PRIVATE void MC_simcall_handle(smx_simcall_t req, int value); - XBT_PRIVATE int MC_smpi_process_count(void); @@ -96,7 +67,7 @@ XBT_PRIVATE int MC_smpi_process_count(void); XBT_PRIVATE smx_process_t MC_smx_resolve_process(smx_process_t process_remote_address); /** Get the process info structure from the process remote address */ -XBT_PRIVATE mc_smx_process_info_t MC_smx_resolve_process_info(smx_process_t process_remote_address); +XBT_PRIVATE simgrid::mc::SimixProcessInformation* MC_smx_resolve_process_info(smx_process_t process_remote_address); XBT_PRIVATE unsigned long MC_smx_get_maxpid(void);