X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a46106a78d1f06c81496f85c95c1c7d26a5c4205..781a388a7f1e57399562aa756e2d426bb009b4a4:/src/s4u/s4u_Actor.cpp diff --git a/src/s4u/s4u_Actor.cpp b/src/s4u/s4u_Actor.cpp index 360cc93eb5..5f75e2a1fd 100644 --- a/src/s4u/s4u_Actor.cpp +++ b/src/s4u/s4u_Actor.cpp @@ -190,7 +190,7 @@ void Actor::suspend() auto target = pimpl_; s4u::Actor::on_suspend(*this); kernel::actor::simcall_blocking([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(); @@ -441,7 +441,9 @@ Host* get_host() void suspend() { - SIMIX_process_self()->iface()->suspend(); + kernel::actor::ActorImpl* self = SIMIX_process_self(); + s4u::Actor::on_suspend(*self->ciface()); + kernel::actor::simcall_blocking([self] { self->suspend(); }); } void resume()