#include "src/surf/xml/platf.hpp"
#if SIMGRID_HAVE_MC
-#include "src/mc/remote/Client.hpp"
+#include "src/mc/remote/AppSide.hpp"
#endif
namespace simgrid {
namespace simix {
-config::Flag<double> cfg_verbose_exit{"debug/verbose-exit", {"verbose-exit"}, "Display the actor status at exit", true};
+config::Flag<bool> cfg_verbose_exit{"debug/verbose-exit", {"verbose-exit"}, "Display the actor status at exit", true};
} // namespace simix
} // namespace simgrid
Timer* Timer::set(double date, xbt::Task<void()>&& callback)
{
- Timer* timer = new Timer(date, std::move(callback));
+ auto* timer = new Timer(date, std::move(callback));
timer->handle_ = simix_timers.emplace(std::make_pair(date, timer));
return timer;
}
}
/** Wake up all actors waiting for a Surf action to finish */
-void Global::wake_all_waiting_actors()
+void Global::wake_all_waiting_actors() const
{
for (auto const& model : all_existing_models) {
kernel::resource::Action* action;
}
}
-void Global::display_all_actor_status()
+void Global::display_all_actor_status() const
{
XBT_INFO("%zu actors are still running, waiting for something.", process_list.size());
/* List the actors and their state */
for (auto const& kv : process_list) {
kernel::actor::ActorImpl* actor = kv.second;
- if (actor->waiting_synchro) {
+ if (actor->waiting_synchro_) {
const char* synchro_description = "unknown";
- // we don't care about the Activity type to get its name, use RawImpl
- const char* name = boost::static_pointer_cast<kernel::activity::ActivityImpl_T<kernel::activity::RawImpl>>(
- actor->waiting_synchro)
- ->get_cname();
- if (boost::dynamic_pointer_cast<kernel::activity::ExecImpl>(actor->waiting_synchro) != nullptr)
+ if (boost::dynamic_pointer_cast<kernel::activity::ExecImpl>(actor->waiting_synchro_) != nullptr)
synchro_description = "execution";
- if (boost::dynamic_pointer_cast<kernel::activity::CommImpl>(actor->waiting_synchro) != nullptr)
+ if (boost::dynamic_pointer_cast<kernel::activity::CommImpl>(actor->waiting_synchro_) != nullptr)
synchro_description = "communication";
- if (boost::dynamic_pointer_cast<kernel::activity::SleepImpl>(actor->waiting_synchro) != nullptr)
+ if (boost::dynamic_pointer_cast<kernel::activity::SleepImpl>(actor->waiting_synchro_) != nullptr)
synchro_description = "sleeping";
- if (boost::dynamic_pointer_cast<kernel::activity::RawImpl>(actor->waiting_synchro) != nullptr)
+ if (boost::dynamic_pointer_cast<kernel::activity::RawImpl>(actor->waiting_synchro_) != nullptr)
synchro_description = "synchronization";
- if (boost::dynamic_pointer_cast<kernel::activity::IoImpl>(actor->waiting_synchro) != nullptr)
+ if (boost::dynamic_pointer_cast<kernel::activity::IoImpl>(actor->waiting_synchro_) != nullptr)
synchro_description = "I/O";
- XBT_INFO("Actor %ld (%s@%s): waiting for %s activity %p (%s) in state %d to finish", actor->get_pid(),
+ XBT_INFO("Actor %ld (%s@%s): waiting for %s activity %#zx (%s) in state %d to finish", actor->get_pid(),
actor->get_cname(), actor->get_host()->get_cname(), synchro_description,
- (xbt_log_no_loc ? (void*)0xDEADBEEF : actor->waiting_synchro.get()), name,
- (int)actor->waiting_synchro->state_);
+ (xbt_log_no_loc ? (size_t)0xDEADBEEF : (size_t)actor->waiting_synchro_.get()),
+ actor->waiting_synchro_->get_cname(), (int)actor->waiting_synchro_->state_);
} else {
XBT_INFO("Actor %ld (%s@%s)", actor->get_pid(), actor->get_cname(), actor->get_host()->get_cname());
}
#if SIMGRID_HAVE_MC
// The communication initialization is done ASAP.
// We need to communicate initialization of the different layers to the model-checker.
- simgrid::mc::Client::initialize();
+ simgrid::mc::AppSide::initialize();
#endif
if (simix_global == nullptr) {
}
#if HAVE_SMPI
- if (simix_global->process_list.size() > 0) {
+ if (not simix_global->process_list.empty()) {
if(smpi_process()->initialized()){
xbt_die("Process exited without calling MPI_Finalize - Killing simulation");
}else{
*/
for (auto const& actor : simix_global->actors_that_ran) {
- if (actor->simcall.call_ != SIMCALL_NONE) {
+ if (actor->simcall_.call_ != SIMCALL_NONE) {
actor->simcall_handle(0);
}
}