X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cfcc26205c43c7ee01341db3d2910f5efbd2fa6b..23f5bf52cc58cf837840f231cf638e9fcd45097b:/src/simix/smx_process.c diff --git a/src/simix/smx_process.c b/src/simix/smx_process.c index a25b215d55..ad38a717cc 100644 --- a/src/simix/smx_process.c +++ b/src/simix/smx_process.c @@ -318,7 +318,7 @@ void SIMIX_process_kill(smx_process_t process, smx_process_t issuer) { case SIMIX_ACTION_COMMUNICATE: xbt_fifo_remove(process->comms, process->waiting_action); - SIMIX_comm_destroy(process->waiting_action); + SIMIX_comm_cancel(process->waiting_action); break; case SIMIX_ACTION_SLEEP: @@ -579,7 +579,7 @@ xbt_dict_t SIMIX_process_get_properties(smx_process_t process) void SIMIX_pre_process_sleep(smx_simcall_t simcall) { - if (MC_IS_ENABLED) { + if (MC_is_active()) { MC_process_clock_add(simcall->issuer, simcall->process_sleep.duration); simcall->process_sleep.result = SIMIX_DONE; SIMIX_simcall_answer(simcall); @@ -709,6 +709,13 @@ void SIMIX_process_yield(smx_process_t self) self->doexception = 0; SMX_THROW(); } + + /* Ignore some local variables from xbt/ex.c for stacks comparison */ + if(MC_is_active()){ + MC_ignore_stack("ctx", "SIMIX_process_yield"); + MC_ignore_stack("_throw_ctx", "SIMIX_process_yield"); + MC_ignore_stack("_log_ev", "SIMIX_process_yield"); + } } /* callback: context fetching */