Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of github.com:mquinson/simgrid
[simgrid.git] / src / mc / mc_smx.cpp
index 325ea15..205fcf7 100644 (file)
@@ -4,15 +4,18 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-#include <assert.h>
+#include <cassert>
+#include <cstdlib>
 
 #include <xbt/log.h>
-#include <xbt/string.hpp>
+#include <xbt/dynar.h>
+#include <xbt/str.h>
+#include <xbt/swag.h>
 
 #include "src/simix/smx_private.h"
 
 #include "src/mc/mc_smx.h"
-#include "ModelChecker.hpp"
+#include "src/mc/ModelChecker.hpp"
 
 using simgrid::mc::remote;
 
@@ -21,9 +24,9 @@ extern "C" {
 static
 void MC_smx_process_info_clear(mc_smx_process_info_t p)
 {
-  p->hostname = NULL;
-  free(p->name);
-  p->name = NULL;
+  p->hostname = nullptr;
+  std::free(p->name);
+  p->name = nullptr;
 }
 
 xbt_dynar_t MC_smx_process_info_list_new(void)
@@ -74,8 +77,8 @@ static void MC_process_refresh_simix_process_list(
 
     s_mc_smx_process_info_t info;
     info.address = p;
-    info.name = NULL;
-    info.hostname = NULL;
+    info.name = nullptr;
+    info.hostname = nullptr;
     process->read_bytes(&info.copy, sizeof(info.copy), remote(p));
     xbt_dynar_push(target, &info);
 
@@ -146,7 +149,7 @@ smx_process_t MC_smx_simcall_get_issuer(smx_simcall_t req)
 smx_process_t MC_smx_resolve_process(smx_process_t process_remote_address)
 {
   if (!process_remote_address)
-    return NULL;
+    return nullptr;
   if (mc_mode == MC_MODE_CLIENT)
     return process_remote_address;
 
@@ -154,7 +157,7 @@ smx_process_t MC_smx_resolve_process(smx_process_t process_remote_address)
   if (process_info)
     return &process_info->copy;
   else
-    return NULL;
+    return nullptr;
 }
 
 mc_smx_process_info_t MC_smx_resolve_process_info(smx_process_t process_remote_address)
@@ -176,11 +179,11 @@ mc_smx_process_info_t MC_smx_resolve_process_info(smx_process_t process_remote_a
 const char* MC_smx_process_get_host_name(smx_process_t p)
 {
   if (mc_mode == MC_MODE_CLIENT)
-    return SIMIX_host_get_name(p->host);
+    return sg_host_get_name(p->host);
 
   simgrid::mc::Process* process = &mc_model_checker->process();
 
-  /* Horrible hack to find the offset of the id in the simgrid::Host.
+  /* Horrible hack to find the offset of the id in the simgrid::s4u::Host.
 
      Offsetof is not supported for non-POD types but this should
      work in pratice for the targets currently supported by the MC
@@ -188,15 +191,15 @@ const char* MC_smx_process_get_host_name(smx_process_t p)
      (such as virtual base).
 
      We are using a (C++11) unrestricted union in order to avoid
-     any construction/destruction of the simgrid::Host.
+     any construction/destruction of the simgrid::s4u::Host.
   */
   union fake_host {
-    simgrid::Host host;
+    simgrid::s4u::Host host;
     fake_host() {}
     ~fake_host() {}
   };
   fake_host foo;
-  const size_t offset = (char*) &foo.host.getName() - (char*) &foo.host;
+  const size_t offset = (char*) &foo.host.name() - (char*) &foo.host;
 
   // Read the simgrid::xbt::string in the MCed process:
   mc_smx_process_info_t info = MC_smx_process_get_info(p);
@@ -216,7 +219,7 @@ const char* MC_smx_process_get_name(smx_process_t p)
   if (mc_mode == MC_MODE_CLIENT)
     return p->name;
   if (!p->name)
-    return NULL;
+    return nullptr;
 
   mc_smx_process_info_t info = MC_smx_process_get_info(p);
   if (!info->name) {