Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Implement ConditionWaitSimcall::to_string().
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Wed, 8 Feb 2023 11:31:33 +0000 (12:31 +0100)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Wed, 8 Feb 2023 13:34:22 +0000 (14:34 +0100)
Fix crash e.g. when running s4u-synchro-condition-variable-waituntil --log=ker_actor.thres:debug

src/kernel/actor/SimcallObserver.cpp

index 24a2192..2d2cf88 100644 (file)
@@ -7,6 +7,7 @@
 #include "simgrid/s4u/Host.hpp"
 #include "src/kernel/activity/CommImpl.hpp"
 #include "src/kernel/activity/MailboxImpl.hpp"
+#include "src/kernel/activity/MutexImpl.hpp"
 #include "src/kernel/actor/ActorImpl.hpp"
 #include "src/mc/mc_config.hpp"
 
@@ -51,7 +52,8 @@ void ConditionWaitSimcall::serialize(std::stringstream& stream) const
 }
 std::string ConditionWaitSimcall::to_string() const
 {
-  THROW_UNIMPLEMENTED;
+  return "ConditionWait(cond_id:" + ptr_to_id<activity::ConditionVariableImpl const>(get_cond()) +
+         " mutex_id:" + std::to_string(get_mutex()->get_id()) + ")";
 }
 
 ActorJoinSimcall::ActorJoinSimcall(ActorImpl* actor, ActorImpl* other, double timeout)