auto target = pimpl_;
s4u::Actor::on_suspend(*this);
kernel::actor::simcall_blocking<void>([issuer, target]() {
- target->suspend(issuer);
+ target->suspend();
if (target != issuer) {
/* If we are suspending ourselves, then just do not finish the simcall now */
issuer->simcall_answer();
void suspend()
{
- SIMIX_process_self()->iface()->suspend();
+ kernel::actor::ActorImpl* self = SIMIX_process_self();
+ s4u::Actor::on_suspend(*self->ciface());
+ kernel::actor::simcall_blocking<void>([self] { self->suspend(); });
}
void resume()