Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
MC: Start implementing the dependency functions on the AppSide (TBC)
[simgrid.git] / src / mc / remote / AppSide.cpp
index 88da091..8622f6a 100644 (file)
@@ -99,9 +99,11 @@ void AppSide::handle_deadlock_check(const s_mc_message_t*) const
 }
 void AppSide::handle_simcall_execute(const s_mc_message_simcall_handle_t* message) const
 {
-  kernel::actor::ActorImpl* process = kernel::actor::ActorImpl::by_pid(message->aid_);
-  xbt_assert(process != nullptr, "Invalid pid %ld", message->aid_);
-  process->simcall_handle(message->times_considered_);
+  kernel::actor::ActorImpl* actor = kernel::actor::ActorImpl::by_pid(message->aid_);
+  xbt_assert(actor != nullptr, "Invalid pid %ld", message->aid_);
+  if (actor->simcall_.observer_ != nullptr)
+    actor->observer_stack_.push_back(actor->simcall_.observer_->clone());
+  actor->simcall_handle(message->times_considered_);
   xbt_assert(channel_.send(MessageType::WAITING) == 0, "Could not send MESSAGE_WAITING to model-checker");
 }