X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3c577108db894482442eff9fb2786c8fd225e440..9f62e12607e183452816941da3e99bb5efda40d0:/src/simix/smx_synchro.cpp diff --git a/src/simix/smx_synchro.cpp b/src/simix/smx_synchro.cpp index 4658773cdd..7fd7af1ffe 100644 --- a/src/simix/smx_synchro.cpp +++ b/src/simix/smx_synchro.cpp @@ -65,16 +65,15 @@ void SIMIX_synchro_finish(smx_activity_t synchro) smx_simcall_t simcall = synchro->simcalls_.front(); synchro->simcalls_.pop_front(); - if (synchro->state_ != SIMIX_SRC_TIMEOUT) { - if (synchro->state_ == SIMIX_FAILED) - simcall->issuer->context_->iwannadie = true; - else - THROW_IMPOSSIBLE; - } - SIMIX_synchro_stop_waiting(simcall->issuer, simcall); simcall->issuer->waiting_synchro = nullptr; - SIMIX_simcall_answer(simcall); + + if (synchro->state_ != SIMIX_SRC_TIMEOUT) { + xbt_assert(synchro->state_ == SIMIX_FAILED); + simcall->issuer->context_->iwannadie = true; + } else { + SIMIX_simcall_answer(simcall); + } XBT_OUT(); }