- if (state_ == State::FAILED) {
- XBT_DEBUG("RawImpl::finish(): host '%s' failed", simcall->issuer_->get_host()->get_cname());
- simcall->issuer_->context_->iwannadie = true;
- simcall->issuer_->exception_ = std::make_exception_ptr(HostFailureException(XBT_THROW_POINT, "Host failed"));
- } else if (state_ != State::SRC_TIMEOUT) {
- xbt_die("Internal error in RawImpl::finish() unexpected synchro state %d", static_cast<int>(state_));
- }
-
- switch (simcall->call_) {
- case SIMCALL_MUTEX_LOCK:
- simcall_mutex_lock__get__mutex(simcall)->remove_sleeping_actor(*simcall->issuer_);
- break;
-
- case SIMCALL_COND_WAIT:
- simcall_cond_wait_timeout__get__cond(simcall)->remove_sleeping_actor(*simcall->issuer_);
- break;