A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Address misc Sonar issues.
[simgrid.git]
/
src
/
mc
/
remote
/
AppSide.cpp
diff --git
a/src/mc/remote/AppSide.cpp
b/src/mc/remote/AppSide.cpp
index 36f2b8d2002967f7d79e3509355cc26545490dac..fe481ca3d865f0cd1eeacf4e11cf9a4021c363e8 100644
(file)
--- a/
src/mc/remote/AppSide.cpp
+++ b/
src/mc/remote/AppSide.cpp
@@
-30,6
+30,7
@@
#include <sys/types.h>
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_client, mc, "MC client logic");
#include <sys/types.h>
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_client, mc, "MC client logic");
+XBT_LOG_EXTERNAL_CATEGORY(mc_global);
namespace simgrid::mc {
namespace simgrid::mc {
@@
-44,7
+45,7
@@
AppSide* AppSide::initialize()
if (instance_)
return instance_.get();
if (instance_)
return instance_.get();
- simgrid::mc::cfg_do_model_check =
1
;
+ simgrid::mc::cfg_do_model_check =
true
;
setvbuf(stdout, nullptr, _IOLBF, 0);
setvbuf(stdout, nullptr, _IOLBF, 0);
@@
-84,11
+85,18
@@
AppSide* AppSide::initialize()
void AppSide::handle_deadlock_check(const s_mc_message_t*) const
{
void AppSide::handle_deadlock_check(const s_mc_message_t*) const
{
- const auto& actor_list = kernel::EngineImpl::get_instance()->get_actor_list();
+ const auto* engine = kernel::EngineImpl::get_instance();
+ const auto& actor_list = engine->get_actor_list();
bool deadlock = not actor_list.empty() && std::none_of(begin(actor_list), end(actor_list), [](const auto& kv) {
return mc::actor_is_enabled(kv.second);
});
bool deadlock = not actor_list.empty() && std::none_of(begin(actor_list), end(actor_list), [](const auto& kv) {
return mc::actor_is_enabled(kv.second);
});
+ if (deadlock) {
+ XBT_CINFO(mc_global, "**************************");
+ XBT_CINFO(mc_global, "*** DEADLOCK DETECTED ***");
+ XBT_CINFO(mc_global, "**************************");
+ engine->display_all_actor_status();
+ }
// Send result:
s_mc_message_int_t answer{MessageType::DEADLOCK_CHECK_REPLY, deadlock};
xbt_assert(channel_.send(answer) == 0, "Could not send response");
// Send result:
s_mc_message_int_t answer{MessageType::DEADLOCK_CHECK_REPLY, deadlock};
xbt_assert(channel_.send(answer) == 0, "Could not send response");