/* 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 <simgrid_config.h>
+
+#include <xbt/log.h>
+#include <xbt/asserts.h>
+#include <xbt/dynar.h>
#include <simgrid/simix.h>
-#include "mc_base.h"
-#include "../simix/smx_private.h"
-#include "mc/mc_record.h"
-#include "mc/mc_replay.h"
+#include "src/mc/mc_base.h"
+#include "src/simix/smx_private.h"
+#include "src/mc/mc_replay.h"
#include "mc/mc.h"
-#include "mc_protocol.h"
+#include "src/mc/mc_protocol.h"
#ifdef HAVE_MC
-#include "mc/Process.hpp"
-#include "mc/ModelChecker.hpp"
-#include "mc_smx.h"
-#include "mc_server.h"
+#include "src/mc/Process.hpp"
+#include "src/mc/ModelChecker.hpp"
+#include "src/mc/mc_smx.h"
#endif
#ifdef HAVE_MC
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
+ assert(mc_mode != MC_MODE_SERVER);
smx_process_t process;
smx_simcall_t req;
return TRUE;
} else {
/* On the other hand if it hasn't a timeout, check if the comm is ready.*/
- if (act->comm.detached && act->comm.src_proc == NULL
+ if (act->comm.detached && act->comm.src_proc == nullptr
&& act->comm.type == SIMIX_COMM_READY)
- return (act->comm.dst_proc != NULL);
+ return (act->comm.dst_proc != nullptr);
}
return (act->comm.src_proc && act->comm.dst_proc);
mutex = &temp_mutex;
}
#endif
- if(mutex->owner == NULL)
+ if(mutex->owner == nullptr)
return TRUE;
else
#ifdef HAVE_MC
// Use rejection in order to avoid skew
unsigned long x;
do {
-#ifndef _XBT_WIN32
+#ifndef _WIN32
x = (unsigned long) random();
#else
x = (unsigned long) rand();
return;
}
- unsigned i;
- mc_smx_process_info_t pi = NULL;
-
- xbt_dynar_foreach_ptr(mc_model_checker->process().smx_process_infos, i, pi) {
- if (req == &pi->copy.simcall) {
- MC_server_simcall_handle(&mc_model_checker->process(), pi->copy.pid, value);
+ for (auto& pi : mc_model_checker->process().smx_process_infos)
+ if (req == &pi.copy.simcall) {
+ mc_model_checker->simcall_handle(
+ mc_model_checker->process(), pi.copy.pid, value);
return;
}
- }
xbt_die("Could not find the request");
#endif