/* 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. */
/* 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. */
for (const simgrid::mc::Transition* transition : transitions_) {
kernel::actor::ActorImpl* actor = engine->get_actor_by_pid(transition->aid_);
for (const simgrid::mc::Transition* transition : transitions_) {
kernel::actor::ActorImpl* actor = engine->get_actor_by_pid(transition->aid_);
const auto& actor_list = engine->get_actor_list();
if (actor_list.empty()) {
XBT_INFO("The replay of the trace is complete. The application is terminating.");
const auto& actor_list = engine->get_actor_list();
if (actor_list.empty()) {
XBT_INFO("The replay of the trace is complete. The application is terminating.");
[](const auto& kv) { return mc::actor_is_enabled(kv.second); })) {
XBT_INFO("The replay of the trace is complete. DEADLOCK detected.");
engine->display_all_actor_status();
[](const auto& kv) { return mc::actor_is_enabled(kv.second); })) {
XBT_INFO("The replay of the trace is complete. DEADLOCK detected.");
engine->display_all_actor_status();
std::string simgrid::mc::RecordTrace::to_string() const
{
std::ostringstream stream;
for (auto i = transitions_.begin(); i != transitions_.end(); ++i) {
std::string simgrid::mc::RecordTrace::to_string() const
{
std::ostringstream stream;
for (auto i = transitions_.begin(); i != transitions_.end(); ++i) {