#define MC_PROCESS_CACHE_FLAG_MALLOC_INFO 2
#define MC_PROCESS_CACHE_FLAG_SIMIX_PROCESSES 4
-struct s_mc_smx_process_info {
+namespace simgrid {
+namespace mc {
+
+class SimixProcessInformation {
+public:
/** MCed address of the process */
- void* address;
- /** (Flat) Copy of the process data structure */
- struct s_smx_process copy;
+ void* address = nullptr;
+ union {
+ /** (Flat) Copy of the process data structure */
+ struct s_smx_process copy;
+ };
/** Hostname (owned by `mc_modelchecker->hostnames`) */
- const char* hostname;
- char* name;
+ const char* hostname = nullptr;
+ char* name = nullptr;
};
-namespace simgrid {
-namespace mc {
-
struct IgnoredRegion {
std::uint64_t addr;
std::size_t size;
class Type;
class Variable;
class Frame;
+class SimixProcessInformation;
}
}
-struct s_mc_smx_process_info;
+// TODO, remove
+typedef simgrid::mc::SimixProcessInformation s_mc_smx_process_info;
// TODO, try to get rid of the global ModelChecker variable
extern simgrid::mc::ModelChecker* mc_model_checker;
SG_BEGIN_DECL()
-typedef struct s_mc_smx_process_info s_mc_smx_process_info_t, *mc_smx_process_info_t;
+typedef 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);