X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/611d822b02f836d7abe031cced6adc4281ef4356..4e73c03c087fd07184d9ed45224f7fbad24e686e:/src/mc/mc_base.cpp diff --git a/src/mc/mc_base.cpp b/src/mc/mc_base.cpp index 5433989c30..27ad062792 100644 --- a/src/mc/mc_base.cpp +++ b/src/mc/mc_base.cpp @@ -1,19 +1,21 @@ -/* Copyright (c) 2008-2018. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2008-2019. The SimGrid Team. All rights reserved. */ /* 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 - -#include "mc/mc.h" #include "src/mc/mc_base.h" +#include "mc/mc.h" +#include "simgrid/config.h" +#include "src/kernel/activity/CommImpl.hpp" +#include "src/kernel/activity/MutexImpl.hpp" +#include "src/mc/mc_config.hpp" +#include "src/mc/mc_forward.hpp" #include "src/mc/mc_replay.hpp" #include "src/simix/smx_private.hpp" -#include "src/kernel/activity/MutexImpl.hpp" - #if SIMGRID_HAVE_MC #include "src/mc/ModelChecker.hpp" +#include "src/mc/remote/RemoteClient.hpp" using simgrid::mc::remote; #endif @@ -70,7 +72,7 @@ bool actor_is_enabled(smx_actor_t actor) #if SIMGRID_HAVE_MC // If in the MCer, ask the client app since it has all the data if (mc_model_checker != nullptr) { - return mc_model_checker->process().actor_is_enabled(actor->pid); + return mc_model_checker->process().actor_is_enabled(actor->pid_); } #endif @@ -86,23 +88,23 @@ bool actor_is_enabled(smx_actor_t actor) simgrid::kernel::activity::CommImpl* act = static_cast(simcall_comm_wait__getraw__comm(req)); - if (act->src_timeout || act->dst_timeout) { + if (act->src_timeout_ || act->dst_timeout_) { /* If it has a timeout it will be always be enabled (regardless of who declared the timeout), * because even if the communication is not ready, it can timeout and won't block. */ if (_sg_mc_timeout == 1) return true; } /* On the other hand if it hasn't a timeout, check if the comm is ready.*/ - else if (act->detached && act->src_proc == nullptr && act->type == SIMIX_COMM_READY) - return (act->dst_proc != nullptr); - return (act->src_proc && act->dst_proc); + else if (act->detached && act->src_actor_ == nullptr && act->type == SIMIX_COMM_READY) + return (act->dst_actor_ != nullptr); + return (act->src_actor_ && act->dst_actor_); } case SIMCALL_COMM_WAITANY: { xbt_dynar_t comms = simcall_comm_waitany__get__comms(req); for (unsigned int index = 0; index < comms->used; ++index) { simgrid::kernel::activity::CommImpl* act = xbt_dynar_get_as(comms, index, simgrid::kernel::activity::CommImpl*); - if (act->src_proc && act->dst_proc) + if (act->src_actor_ && act->dst_actor_) return true; } return false; @@ -113,7 +115,7 @@ bool actor_is_enabled(smx_actor_t actor) if (mutex->owner == nullptr) return true; - return mutex->owner->pid == req->issuer->pid; + return mutex->owner->pid_ == req->issuer->pid_; } case SIMCALL_SEM_ACQUIRE: {