X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/67634e9178fa9195d4b6fffb61e86ccd81a783d9..ed26e84f533a3dc510abdc384aee02506ab9798b:/src/simix/ActorImpl.cpp diff --git a/src/simix/ActorImpl.cpp b/src/simix/ActorImpl.cpp index 502ffeaf12..df96ad7120 100644 --- a/src/simix/ActorImpl.cpp +++ b/src/simix/ActorImpl.cpp @@ -146,16 +146,16 @@ void SIMIX_process_cleanup(smx_actor_t process) /** * Garbage collection * - * Should be called some time to time to free the memory allocated for processes - * that have finished (or killed). + * Should be called some time to time to free the memory allocated for processes that have finished (or killed). */ void SIMIX_process_empty_trash() { - smx_actor_t process = nullptr; + smx_actor_t process = static_cast(xbt_swag_extract(simix_global->process_to_destroy)); - while ((process = (smx_actor_t) xbt_swag_extract(simix_global->process_to_destroy))) { + while (process) { XBT_DEBUG("Getting rid of %p",process); intrusive_ptr_release(process); + process = static_cast(xbt_swag_extract(simix_global->process_to_destroy)); } } @@ -553,6 +553,7 @@ void simcall_HANDLER_process_set_host(smx_simcall_t simcall, smx_actor_t process { process->new_host = dest; } + void SIMIX_process_change_host(smx_actor_t process, sg_host_t dest) { xbt_assert((process != nullptr), "Invalid parameters"); @@ -602,12 +603,13 @@ void SIMIX_process_resume(smx_actor_t process) { XBT_IN("process = %p", process); - if(process->context->iwannadie) { + if (process->context->iwannadie) { XBT_VERB("Ignoring request to suspend a process that is currently dying."); return; } - if(!process->suspended) return; + if (!process->suspended) + return; process->suspended = 0; /* resume the synchronization that was blocking the resumed process. */