X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6bf993decaa5c52cf75ac9d187cdaaed4ec95614..2a7d4ad7f01f69f55791fe640630ef269a2f9770:/src/simix/smx_global.cpp diff --git a/src/simix/smx_global.cpp b/src/simix/smx_global.cpp index b463c5a153..d47121d289 100644 --- a/src/simix/smx_global.cpp +++ b/src/simix/smx_global.cpp @@ -313,15 +313,16 @@ static void SIMIX_wake_processes() XBT_DEBUG("Handling the processes whose action failed (if any)"); while ((action = model->extract_failed_action())) { XBT_DEBUG(" Handling Action %p",action); - SIMIX_simcall_exit(static_cast(action->get_data())); + if (action->get_activity() != nullptr) + simgrid::kernel::activity::ActivityImplPtr(action->get_activity())->post(); } XBT_DEBUG("Handling the processes whose action terminated normally (if any)"); while ((action = model->extract_done_action())) { XBT_DEBUG(" Handling Action %p",action); - if (action->get_data() == nullptr) + if (action->get_activity() == nullptr) XBT_DEBUG("probably vcpu's action %p, skip", action); else - SIMIX_simcall_exit(static_cast(action->get_data())); + simgrid::kernel::activity::ActivityImplPtr(action->get_activity())->post(); } } }