- 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_);