+
+void MC_server_wait_client(simgrid::mc::Process* process)
+{
+ mc_server->resume(process);
+ while (mc_model_checker->process().running()) {
+ if (!mc_server->handle_events())
+ return;
+ }
+}
+
+void MC_server_simcall_handle(simgrid::mc::Process* process, unsigned long pid, int value)
+{
+ s_mc_simcall_handle_message m;
+ memset(&m, 0, sizeof(m));
+ m.type = MC_MESSAGE_SIMCALL_HANDLE;
+ m.pid = pid;
+ m.value = value;
+ mc_model_checker->process().send_message(m);
+ process->cache_flags = (mc_process_cache_flags_t) 0;
+ while (mc_model_checker->process().running()) {
+ if (!mc_server->handle_events())
+ return;
+ }
+}
+
+void MC_server_loop(mc_server_t server)
+{
+ server->loop();
+}
+
+}