+
+void MC_server_wait_client(mc_process_t process)
+{
+ mc_server->resume(process);
+ while (mc_model_checker->process().running()) {
+ if (!mc_server->handle_events())
+ return;
+ }
+}
+
+void MC_server_simcall_handle(mc_process_t 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_protocol_send(mc_model_checker->process().socket, &m, sizeof(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();
+}
+
+}