Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
[simgrid.git] / src / mc / mc_snapshot.h
index 2711b69..3817326 100644 (file)
@@ -129,14 +129,14 @@ typedef struct XBT_PRIVATE s_mc_snapshot_stack {
 } s_mc_snapshot_stack_t, *mc_snapshot_stack_t;
 
 typedef struct s_mc_global_t {
-  simgrid::mc::Snapshot* snapshot;
-  int prev_pair;
-  char *prev_req;
-  int initial_communications_pattern_done;
-  int recv_deterministic;
-  int send_deterministic;
-  char *send_diff;
-  char *recv_diff;
+  std::shared_ptr<simgrid::mc::Snapshot> snapshot;
+  int prev_pair = 0;
+  std::string prev_req;
+  int initial_communications_pattern_done = 0;
+  int recv_deterministic = 0;
+  int send_deterministic = 0;
+  char *send_diff = nullptr;
+  char *recv_diff = nullptr;
 }s_mc_global_t, *mc_global_t;
 
 namespace simgrid {
@@ -186,8 +186,8 @@ static const void* mc_snapshot_get_heap_end(simgrid::mc::Snapshot* snapshot);
 namespace simgrid {
 namespace mc {
 
-XBT_PRIVATE simgrid::mc::Snapshot* take_snapshot(int num_state);
-XBT_PRIVATE void restore_snapshot(simgrid::mc::Snapshot*);
+XBT_PRIVATE std::shared_ptr<simgrid::mc::Snapshot> take_snapshot(int num_state);
+XBT_PRIVATE void restore_snapshot(std::shared_ptr<simgrid::mc::Snapshot> snapshot);
 
 }
 }
@@ -213,8 +213,8 @@ XBT_PRIVATE int MC_snapshot_memcmp(
 static inline __attribute__ ((always_inline))
 const void* mc_snapshot_get_heap_end(simgrid::mc::Snapshot* snapshot)
 {
-  if(snapshot==NULL)
-      xbt_die("snapshot is NULL");
+  if(snapshot==nullptr)
+      xbt_die("snapshot is nullptr");
   return mc_model_checker->process().get_heap()->breakval;
 }