Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into mc-process
[simgrid.git] / src / mc / mc_base.c
index 164047c..65052ef 100644 (file)
 #include "mc_model_checker.h"
 #include "mc_protocol.h"
 #include "mc_smx.h"
+#include "mc_server.h"
 #endif
 
 XBT_LOG_NEW_CATEGORY(mc, "All MC categories");
 
 void MC_wait_for_requests(void)
 {
+#ifdef HAVE_MC
+  if (mc_mode == MC_MODE_SERVER) {
+    MC_server_wait_client(&mc_model_checker->process);
+    return;
+  }
+#endif
+
   smx_process_t process;
   smx_simcall_t req;
   unsigned int iter;
@@ -128,9 +136,11 @@ int MC_request_is_enabled(smx_simcall_t req)
       return TRUE;
     else
 #ifdef HAVE_MC
-      return (mutex->owner->pid == MC_smx_resolve_process(req->issuer)->pid);
+      // TODO, *(mutex->owner) :/
+      return MC_smx_resolve_process(mutex->owner)->pid ==
+        MC_smx_resolve_process(req->issuer)->pid;
 #else
-      return (mutex->owner->pid == req->issuer->pid);
+      return mutex->owner->pid == req->issuer->pid;
 #endif
     }