#include "src/mc/mc_request.h"
#include "src/mc/Process.hpp"
#include "src/mc/ModelChecker.hpp"
#include "src/mc/mc_smx.h"
#endif
#include "src/mc/mc_request.h"
#include "src/mc/Process.hpp"
#include "src/mc/ModelChecker.hpp"
#include "src/mc/mc_smx.h"
#endif
/* FIXME: check also that src and dst processes are not suspended */
act = simcall_comm_wait__get__comm(req);
/* FIXME: check also that src and dst processes are not suspended */
act = simcall_comm_wait__get__comm(req);
// Fetch from MCed memory:
if (mc_mode == MC_MODE_SERVER) {
mc_model_checker->process().read(&temp_synchro, remote(act));
// Fetch from MCed memory:
if (mc_mode == MC_MODE_SERVER) {
mc_model_checker->process().read(&temp_synchro, remote(act));
// Fetch act from MCed memory:
if (mc_mode == MC_MODE_SERVER) {
memcpy(&act, buffer + comms->elmsize * index, sizeof(act));
// Fetch act from MCed memory:
if (mc_mode == MC_MODE_SERVER) {
memcpy(&act, buffer + comms->elmsize * index, sizeof(act));
s_smx_mutex_t temp_mutex;
if (mc_mode == MC_MODE_SERVER) {
mc_model_checker->process().read(&temp_mutex, remote(mutex));
s_smx_mutex_t temp_mutex;
if (mc_mode == MC_MODE_SERVER) {
mc_model_checker->process().read(&temp_mutex, remote(mutex));
// TODO, *(mutex->owner) :/
return MC_smx_resolve_process(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;
SIMIX_simcall_handle(req, value);
#else
if (mc_mode == MC_MODE_CLIENT) {
SIMIX_simcall_handle(req, value);
#else
if (mc_mode == MC_MODE_CLIENT) {