Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Remove useless MC_MODE_CLIENT paths
authorGabriel Corona <gabriel.corona@loria.fr>
Fri, 8 Apr 2016 10:01:27 +0000 (12:01 +0200)
committerGabriel Corona <gabriel.corona@loria.fr>
Fri, 8 Apr 2016 10:01:29 +0000 (12:01 +0200)
src/mc/mc_base.cpp
src/mc/mc_request.cpp
src/mc/mc_smx.cpp

index 1417283..4dcc139 100644 (file)
@@ -153,16 +153,17 @@ bool request_is_enabled(smx_simcall_t req)
       mutex = &temp_mutex;
     }
 #endif
+
     if(mutex->owner == nullptr)
       return true;
-    else
 #if HAVE_MC
+    else if (mc_mode == MC_MODE_SERVER)
       // TODO, *(mutex->owner) :/
       return MC_smx_resolve_process(simgrid::mc::remote(mutex->owner))->pid ==
         MC_smx_resolve_process(simgrid::mc::remote(req->issuer))->pid;
-#else
-      return mutex->owner->pid == req->issuer->pid;
 #endif
+    else
+      return mutex->owner->pid == req->issuer->pid;
     }
 
   default:
index 679df52..5d6656f 100644 (file)
@@ -205,6 +205,8 @@ static char *buff_size_to_string(size_t buff_size)
 
 std::string simgrid::mc::request_to_string(smx_simcall_t req, int value, simgrid::mc::RequestType request_type)
 {
+  xbt_assert(mc_mode == MC_MODE_SERVER);
+
   bool use_remote_comm = true;
   switch(request_type) {
   case simgrid::mc::RequestType::simix:
index 09981a5..9487799 100644 (file)
@@ -113,8 +113,7 @@ void Process::refresh_simix()
  */
 smx_process_t MC_smx_simcall_get_issuer(s_smx_simcall_t const* req)
 {
-  if (mc_mode == MC_MODE_CLIENT)
-    return req->issuer;
+  xbt_assert(mc_mode == MC_MODE_SERVER);
 
   // This is the address of the smx_process in the MCed process:
   auto address = simgrid::mc::remote(req->issuer);
@@ -133,10 +132,10 @@ smx_process_t MC_smx_simcall_get_issuer(s_smx_simcall_t const* req)
 smx_process_t MC_smx_resolve_process(
   simgrid::mc::RemotePtr<s_smx_process_t> process_remote_address)
 {
+  xbt_assert(mc_mode == MC_MODE_SERVER);
+
   if (!process_remote_address)
     return nullptr;
-  if (mc_mode == MC_MODE_CLIENT)
-    return process_remote_address.local();
 
   simgrid::mc::SimixProcessInformation* process_info =
     MC_smx_resolve_process_info(process_remote_address);
@@ -149,8 +148,8 @@ smx_process_t MC_smx_resolve_process(
 simgrid::mc::SimixProcessInformation* MC_smx_resolve_process_info(
   simgrid::mc::RemotePtr<s_smx_process_t> process_remote_address)
 {
-  if (mc_mode == MC_MODE_CLIENT)
-    xbt_die("No process_info for local process is not enabled.");
+  xbt_assert(mc_mode == MC_MODE_SERVER);
+
   for (auto& process_info : mc_model_checker->process().smx_process_infos)
     if (process_info.address == process_remote_address)
       return &process_info;